//
// Copyright 2008 Simon Edwards <simon@simonzone.com>
// 
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either 
// version 2.1 of the License, or (at your option) any later version.
// 
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
// Lesser General Public License for more details.
// 
// You should have received a copy of the GNU Lesser General Public 
// License along with this library.  If not, see <http://www.gnu.org/licenses/>.
//

namespace Marble
{

class GeoDataContainer : Marble::GeoDataFeature
{
%TypeHeaderCode
#include <GeoDataContainer.h>
%End

public:


//mt undefined symbol: QVector<Marble::GeoDataFolder*> None -- need mapped type?
//mt     QVector<Marble::GeoDataFolder*>  folders () const;




//mt undefined symbol: QVector<Marble::GeoDataFeature*> None -- need mapped type?
//mt     QVector<Marble::GeoDataFeature*>  features () const;




//mt undefined symbol: QVector<Marble::GeoDataPlacemark*> None -- need mapped type?
//mt     QVector<Marble::GeoDataPlacemark*>  placemarks () const;


    void                    addFeature (Marble::GeoDataFeature* feature, bool setChild = 1);
    void                    removeFeature (Marble::GeoDataFeature* feature);
    virtual Marble::GeoDataObject*  child (int);
    virtual int             childPosition (Marble::GeoDataObject*);
    virtual int             childCount ();
    virtual void            pack (QDataStream& stream) const;
    virtual void            unpack (QDataStream& stream);

protected:
    explicit                GeoDataContainer (Marble::GeoDataObject* parent = 0);

private:
                            GeoDataContainer (const Marble::GeoDataContainer&);
};   // GeoDataContainer

};   // Marble


