OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimContainerProperty.h
Go to the documentation of this file.
1 //*******************************************************************
2 //
3 // LICENSE: See top level LICENSE.txt
4 //
5 // Author: Garrett Potts
6 //
7 //*************************************************************************
8 // $Id: ossimContainerProperty.h 19917 2011-08-09 11:12:24Z gpotts $
9 #ifndef ossimContainerProperty_HEADER
10 #define ossimContainerProperty_HEADER
11 #include <vector>
12 #include <ossim/base/ossimRefPtr.h>
14 
16 {
17 public:
18  friend class ossimProperty;
21  virtual ~ossimContainerProperty();
22 
23  virtual ossimObject* dup()const;
24 
25  virtual const ossimProperty& assign(const ossimProperty& rhs);
26 
27  virtual void addChildren(std::vector<ossimRefPtr<ossimProperty> >& propertyList);
28 
29  virtual void addChild(ossimProperty* propery);
30 
31  virtual void addStringProperty(const ossimString& name,
32  const ossimString& value,
33  bool readOnlyFlag = false);
34 
35  virtual const ossimContainerProperty* asContainer()const;
37 
38  virtual ossimRefPtr<ossimProperty> getProperty(const ossimString& name,
39  bool recurse=false);
40  virtual void deleteChildren();
41  virtual bool setValue(const ossimString& value);
42  virtual void valueToString(ossimString& valueResult)const;
43 
44  virtual ossim_uint32 getNumberOfProperties()const;
45  virtual ossimRefPtr<ossimProperty> getProperty(ossim_uint32 idx);
46 
47  virtual void getPropertyList(
48  std::vector<ossimRefPtr<ossimProperty> >& children) const;
49 
50  virtual ossimRefPtr<ossimXmlNode> toXml()const;
51  virtual void setReadOnlyFlag(bool flag);
52 
53  virtual void accept(ossimVisitor& visitor);
54 protected:
55  std::vector<ossimRefPtr<ossimProperty> > theChildPropertyList;
56 
57  virtual void copyList(const ossimContainerProperty& rhs);
58 
59 
61 };
62 
63 #endif
#define OSSIMDLLEXPORT
virtual void setReadOnlyFlag(bool flag)
virtual const ossimProperty & assign(const ossimProperty &rhs)
std::vector< ossimRefPtr< ossimProperty > > theChildPropertyList
virtual ossimString valueToString() const
virtual void accept(ossimVisitor &visitor)
#define TYPE_DATA
Definition: ossimRtti.h:339
unsigned int ossim_uint32
virtual const ossimContainerProperty * asContainer() const
virtual ossimRefPtr< ossimXmlNode > toXml() const
virtual ossimObject * dup() const
Definition: ossimObject.cpp:29
virtual bool setValue(const ossimString &value)=0