Objects.h
Go to the documentation of this file.
00001 /*
00002  * Copyright (C) 2006-2011, SRI International (R)
00003  *
00004  * This program is free software: you can redistribute it and/or modify
00005  * it under the terms of the GNU Lesser General Public License as published by
00006  * the Free Software Foundation, either version 3 of the License, or
00007  * (at your option) any later version.
00008  *
00009  * This program is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012  * GNU Lesser General Public License for more details.
00013  *
00014  * You should have received a copy of the GNU Lesser General Public License
00015  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
00016  */
00017 
00018 #pragma once
00019 
00020 #ifndef __OpenKarto_Object_h__
00021 #define __OpenKarto_Object_h__
00022 
00023 #include <OpenKarto/Object.h>
00024 
00025 namespace karto
00026 {
00027 
00029 
00030 
00034 
00038   class KARTO_EXPORT ModuleParameters : public Object
00039   {
00040     KARTO_RTTI();
00041 
00042   public:
00047     ModuleParameters(const Identifier& rName);
00048 
00049   protected:
00050     //@cond EXCLUDE
00054     virtual ~ModuleParameters();
00055     //@endcond
00056     
00057   private:
00058     // restrict the following functions
00059     ModuleParameters(const ModuleParameters&);
00060     const ModuleParameters& operator=(const ModuleParameters&);
00061   }; // ModuleParameters
00062 
00066   KARTO_TYPE(ModuleParameters);
00067 
00071   typedef SmartPointer<ModuleParameters> ParametersPtr;
00072 
00076 
00080   class KARTO_EXPORT CustomItem : public Object
00081   {
00082     KARTO_RTTI();
00083 
00084   public:
00088     CustomItem();
00089 
00094     CustomItem(const Identifier& rName);
00095 
00096   protected:
00097     //@cond EXCLUDE
00101     virtual ~CustomItem();
00102     //@endcond
00103     
00104   public:
00109     virtual const String& Write() const = 0;
00110     
00115     virtual void Read(const String& pValue) = 0;
00116 
00117   private:
00118     // restrict the following functions
00119     CustomItem(const CustomItem&);
00120     const CustomItem& operator=(const CustomItem&);
00121   }; // CustomItem
00122 
00126   KARTO_TYPE(CustomItem);
00127 
00131   typedef SmartPointer<CustomItem> CustomItemPtr;
00132 
00136   typedef List<CustomItemPtr> CustomItemList;
00137 
00141 
00146   class KARTO_EXPORT DatasetInfo : public Object
00147   {
00148     KARTO_RTTI();
00149 
00150   public:
00154     DatasetInfo();
00155   
00156   protected:
00157     //@cond EXCLUDE
00161     virtual ~DatasetInfo();
00162     //@endcond
00163     
00164   public:
00169     const String& GetTitle() const;
00170 
00175     const String& GetAuthor() const;
00176 
00181     const String& GetDescription() const;
00182 
00187     const String& GetCopyright() const;
00188 
00189   private:
00190     // restrict the following functions
00191     DatasetInfo(const DatasetInfo&);
00192     const DatasetInfo& operator=(const DatasetInfo&);
00193 
00194   private:
00195     Parameter<String>* m_pTitle;
00196     Parameter<String>* m_pAuthor;
00197     Parameter<String>* m_pDescription;
00198     Parameter<String>* m_pCopyright;
00199   }; // class DatasetInfo
00200 
00204   KARTO_TYPE(DatasetInfo);
00205 
00209   typedef SmartPointer<DatasetInfo> DatasetInfoPtr;
00210 
00212 
00213 }
00214 
00215 #endif // __OpenKarto_Object_h__


nav2d_karto
Author(s): Sebastian Kasperski
autogenerated on Thu Aug 27 2015 14:07:25