00001 // 00002 // Copyright (C) 2007 Refractions Research, Inc. 00003 // 00004 // This library is free software; you can redistribute it and/or 00005 // modify it under the terms of version 2.1 of the GNU Lesser 00006 // General Public License as published by the Free Software Foundation. 00007 // 00008 // This library is distributed in the hope that it will be useful, 00009 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00010 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00011 // Lesser General Public License for more details. 00012 // 00013 // You should have received a copy of the GNU Lesser General Public 00014 // License along with this library; if not, write to the Free Software 00015 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 00016 // 00017 #ifndef FDOPOSTGIS_CLASSCOLLECTION_H_INCLUDED 00018 #define FDOPOSTGIS_CLASSCOLLECTION_H_INCLUDED 00019 00020 #include <Fdo.h> 00021 #include <PostGIS/Override/ClassDefinition.h> 00022 00023 namespace fdo { namespace postgis { namespace ov { 00024 00025 /// \todo To be documented 00026 class ClassCollection : public FdoPhysicalElementMappingCollection<ClassDefinition> 00027 { 00028 public: 00029 00030 /// Type of FDO smart pointer for the class. 00031 typedef FdoPtr<ClassCollection> Ptr; 00032 00033 /// Factory creates collection without parent specified. 00034 FDOPOSTGIS_API static ClassCollection* Create(); 00035 00036 /// Factory creates collection with parent specified. 00037 FDOPOSTGIS_API static ClassCollection* Create(FdoPhysicalElementMapping* parent); 00038 00039 protected: 00040 00041 /// Default constructor creates class collection with no parent. 00042 ClassCollection(); 00043 00044 /// Constructor creates class collection with specified parent. 00045 ClassCollection(FdoPhysicalElementMapping* parent); 00046 00047 /// Destructor 00048 virtual ~ClassCollection(); 00049 00050 // 00051 // FdoIDisposable interface 00052 // 00053 00054 virtual void Dispose(); 00055 00056 private: 00057 00058 typedef FdoPhysicalElementMappingCollection<ClassDefinition> Base; 00059 00060 }; 00061 00062 }}} // namespace fdo::postgis::ov 00063 00064 #endif // FDOPOSTGIS_CLASSCOLLECTION_H_INCLUDED