9 #ifndef subscriptionListFile_H_
10 #define subscriptionListFile_H_
16 #include <vl/region.h>
17 #include <mtl/envValue.h>
44 virtual
bool defaultObjectClassExists() const;
48 virtual
bool defaultInteractionClassExists() const;
52 virtual std::set<
DtString> objectClasses() const;
56 virtual
void setObjectClassList(const std::vector<
DtString>& list);
60 virtual std::set<
DtString> interactionClasses() const;
64 virtual
void setInteractionClassList(const std::vector<
DtString>& list);
68 virtual
void setRegionDescSet(const
DtString& name, const DtSubscriptionListFile::
RegionDescSet& desc);
73 virtual
bool getRegionDescSet(const
DtString& descName, DtSubscriptionListFile::
RegionDescSet& regionDesc) const;
77 virtual
bool regionDescSetExists(const
DtString& descName) const;
88 virtual
void removeObject(const
DtString& name);
94 virtual
bool addInteractionClass(const
DtString& className, const
DtString& regionSetName);
98 virtual
void removeInteractionClass(const
DtString& className);
102 virtual const
DtString* regionDescSetNameForObjectClass(const
DtString& className) const;
106 virtual const
DtString* regionDescSetNameForInteractionClass(const
DtString& className) const;
110 virtual const DtSubscriptionListFile::
RegionDescSet* regionDescSetForObjectClass(const
DtString& className,
111 bool ignoreDefaults=false) const;
115 virtual const DtSubscriptionListFile::
RegionDescSet* regionDescSetForInteractionClass(const
DtString& className,
bool ignoreDefaults=false) const;
121 virtual
unsigned int getRegionSetForObject(
DtExerciseConn* exconn,
122 const
DtString& name, DtDDMRegionSet& regionSet,
bool cacheRegions=true) const;
128 virtual
unsigned int getRegionSetForInteractionClass(
DtExerciseConn* exconn,
129 const
DtString& className, DtDDMRegionSet& regionSet,
bool cacheRegions=true ) const;
132 virtual
void clearRegions();
137 virtual
bool readFromFile(const
DtString& filename);
142 virtual
bool writeToFile(const
DtString& filename) const;
146 virtual const
DtString& defaultRegionSetNameObjectClassKey() const;
150 virtual const
DtString& defaultRegionSetNameInteractionClassKey() const;
157 virtual DtSubscriptionListFile diffSubscriptionList(const DtSubscriptionListFile& newsublist,
158 std::set<
DtString>& modifiedObjectClasses,
159 std::set<
DtString>& modifiedInteractionClasses);
165 virtual const
DtString* regionDescSetNameForClassName(
166 const std::map<
DtString, DtString>& classNameToDescNameMap, const DtString& defaultName,
167 const DtString& className) const;
171 virtual const DtSubscriptionListFile::
RegionDescSet* regionDescSetForClassName(
172 const std::map<DtString, DtString>& classNameToDescNameMap, const DtString& defaultName,
173 const DtString& className,
bool ignoreDefaults=false) const;
179 const DtSubscriptionListFile::
RegionDesc& regionDescriptor) const;
186 const DtSubscriptionListFile::
RegionDescSet& regionDescSet, DtDDMRegionSet& regionSet,
187 bool cacheRegions=true) const;
192 virtual
bool readRegion(DtEnvironment& env, DtEnvValueSP region,
RegionDesc& regionDescriptor);
197 virtual
bool readAttribute(DtEnvironment& env, DtEnvValueSP attribute,
AttributeDesc& attrributeDescriptor);
202 virtual
bool readExtent(DtEnvironment& env, DtEnvValueSP extent,
ExtentDesc& extentDescriptor);
207 virtual
bool readDimension(DtEnvironment& env, DtEnvValueSP dimension,
DimensionDesc& dimimensionDescriptor);
212 virtual
bool readBound(DtEnvironment& env, DtEnvValueSP dimension, const DtString& boundName,
unsigned long& value);
218 virtual
bool readRegionSet(DtEnvironment& env, const std::map<DtString,
219 RegionDesc>& regionmap, DtEnvValueSP regionset,
227 virtual
bool readClassRegion(DtEnvironment& env, DtEnvValueSP classRegion, DtString& regionSetName, DtString* className=0);
230 virtual
void collectRegions(std::map<
RegionDesc, DtString>& regionsToWrite) const;
233 virtual
void addRegionsToEnv(std::map<RegionDesc, DtString>& regionsToWrite, DtEnvironment& env) const;
236 void addRegionSetsToEnv(std::map<RegionDesc, DtString>& regionsToWrite, DtEnvironment& env) const;
239 void addObjectClassesToEnv(DtEnvironment& env) const;
242 virtual
void addInteractionClassesToEnv(DtEnvironment& env) const;
252 DimensionDesc() : lower(), upper()
260 bool operator<(
const DimensionDesc other)
const;
262 bool operator==(
const DimensionDesc other)
const;
263 bool operator!=(
const DimensionDesc other)
const;
265 int serialize(
char* buffer,
int maxsize)
const;
266 int deserialize(
const char* buffer);
279 bool operator==(
const ExtentDesc other)
const;
280 bool operator!=(
const ExtentDesc other)
const;
282 int serialize(
char* buffer,
int maxsize)
const;
283 int deserialize(
const char* buffer);
298 int serialize(
char* buffer,
int maxsize)
const;
299 int deserialize(
const char* buffer);
320 bool operator==(
const RegionDesc other)
const;
322 int serialize(
char* buffer,
int maxsize)
const;
323 int deserialize(
const char* buffer);