00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef __HOM_DopData_h__
00017 #define __HOM_DopData_h__
00018
00019 #include "HOM_API.h"
00020 #include "HOM_Defines.h"
00021 #include "HOM_Module.h"
00022 #include "HOM_Errors.h"
00023 #include "HOM_IterableList.h"
00024 #include <string>
00025 #include <vector>
00026
00027 class HOM_DopSimulation;
00028 class HOM_DopRecord;
00029
00030 SWIGOUT(%rename(DopData) HOM_DopData;)
00031
00032 class HOM_API HOM_DopData
00033 {
00034 public:
00035 HOM_DopData()
00036 { HOM_CONSTRUCT_OBJECT(this) }
00037 HOM_DopData(const HOM_DopData &data)
00038 { HOM_CONSTRUCT_OBJECT(this) }
00039 virtual ~HOM_DopData()
00040 { HOM_DESTRUCT_OBJECT(this) }
00041
00042
00043
00044 virtual bool operator==(HOM_DopData *data)
00045 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00046 virtual bool operator!=(HOM_DopData *data)
00047 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00048
00049 virtual int __hash__() throw(HOM_Error) = 0;
00050 virtual std::string __repr__()
00051 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00052
00053 SWIGOUT(%newobject dopNetNode;)
00054 virtual HOM_Node *dopNetNode()
00055 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00056 SWIGOUT(%newobject simulation;)
00057 virtual HOM_DopSimulation *simulation()
00058 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00059 SWIGOUT(%newobject creator;)
00060 virtual HOM_Node *creator()
00061 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00062 virtual std::string id()
00063 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00064 virtual std::string dataType()
00065 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00066
00067 SWIGPYTHONOUT(%feature("autodoc",
00068 "recordTypes(self) -> tuple of strings") recordTypes;)
00069 virtual std::vector<std::string> recordTypes()
00070 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00071
00072 SWIGOUT(%newobject record;)
00073 virtual HOM_DopRecord *record(const char *record_type, int record_index = 0)
00074 throw(HOM_ObjectWasDeleted, HOM_TypeError, HOM_Error) = 0;
00075
00076 SWIGPYTHONOUT(%feature("autodoc",
00077 "records(self) -> tuple of DopRecords") records;)
00078 SWIGOUT(%newobject records;)
00079 virtual HOM_IterableList<HOM_DopRecord> *records(const char *record_type)
00080 throw(HOM_ObjectWasDeleted, HOM_TypeError, HOM_Error) = 0;
00081
00082 SWIGOUT(%newobject options;)
00083 virtual HOM_DopRecord *options()
00084 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00085
00086 SWIGPYTHONOUT(%feature("autodoc",
00087 "subData(self) -> dict of strings to DopDatas") subData;)
00088 SWIGOUT(%newobject subData;)
00089 virtual std::map<std::string, HOM_ElemPtr<HOM_DopData> > subData()
00090 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00091 SWIGOUT(%newobject findSubData;)
00092 virtual HOM_DopData *findSubData(const char *data_spec)
00093 throw(HOM_ObjectWasDeleted, HOM_TypeError, HOM_Error) = 0;
00094
00095 SWIGPYTHONOUT(%feature("autodoc",
00096 "findAllSubData(self, data_spec, recurse=False) -> dict")
00097 findAllSubData;)
00098 SWIGOUT(%kwargs findAllSubData;)
00099 virtual std::map<std::string, HOM_ElemPtr<HOM_DopData> >
00100 findAllSubData(const char *data_spec, bool recurse=false)
00101 throw(HOM_ObjectWasDeleted, HOM_TypeError, HOM_Error) = 0;
00102
00103
00104 SWIGOUT(%kwargs createSubData;)
00105 virtual HOM_DopData *createSubData(
00106 const char *data_name, const char *data_type,
00107 bool avoid_name_collisions=false)
00108 throw(HOM_ObjectWasDeleted, HOM_OperationFailed, HOM_PermissionError,
00109 HOM_TypeError, HOM_Error) = 0;
00110
00111 SWIGOUT(%kwargs attachSubData;)
00112 virtual void attachSubData(
00113 HOM_DopData &hom_new_subdata, const char *new_data_name,
00114 bool avoid_name_collisions=false)
00115 throw(HOM_ObjectWasDeleted, HOM_OperationFailed, HOM_PermissionError,
00116 HOM_TypeError, HOM_Error) = 0;
00117
00118 virtual void removeSubData(const char *data_spec)
00119 throw(HOM_ObjectWasDeleted, HOM_OperationFailed, HOM_PermissionError,
00120 HOM_TypeError, HOM_Error) = 0;
00121
00122 virtual void copyContentsFrom(HOM_DopData &hom_data)
00123 throw(HOM_ObjectWasDeleted, HOM_PermissionError, HOM_Error) = 0;
00124 };
00125
00126 #endif
00127