VR-Forces 4.2 Class Documentation
attributesManager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2012 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
11 #include <mtl/lispEnv.h>
12 #include <vrfGuiCore/vrfGuiCore.h>
15 #include <libxml/xmlmemory.h>
16 #include <libxml/parser.h>
17 
18 #include <vector>
19 #include <string>
20 
21 namespace makVrf
22 {
24  {
25  public:
26  DtAttributeValuePair() : myBitPosition(0) {};
28  myAttributeName(orig.myAttributeName), myAttributeValue(orig.myAttributeValue), myBitPosition(orig.myBitPosition), myValue(orig.myValue) {};
29 
30  std::string myAttributeName;
31  std::string myAttributeValue;
33  int myValue;
34  };
35 
36  typedef std::vector<DtAttributeValuePair> DtAttributeValues;
37 
39  {
40  public:
43  virtual DtAttributeValueInfo& operator=(const DtAttributeValueInfo& info);
44 
45  public:
47  std::string myAttributeName;
49  std::vector<std::string> myAttributeValues;
50  };
51 
53  {
54  public:
57  myAttributeValues(orig.myAttributeValues) {};
58 
61  virtual void addAttributeItems(const DtlObjPtr& tailPtr);
62 
65  virtual void addAttributeItems(xmlNodePtr);
66 
70  virtual void valuesFromMask(unsigned int mask, DtAttributeValues& result) const;
71 
72  virtual const std::vector<DtAttributeValueInfo>& attributeValues() const;
73 
74  DtAttributeInfo* clone() const { return new DtAttributeInfo(*this); };
75 
78  virtual void parseAttribute(const DtlObjPtr& attribute);
79 
82  virtual void parseAttribute(xmlNodePtr);
83 
84  protected:
85 
88  virtual void insertAttributeValue(const DtAttributeValueInfo& value);
89 
90  protected:
91  std::vector<DtAttributeValueInfo> myAttributeValues;
92  };
93 
95  {
96  public:
98  virtual ~DtAttributesManager();
99 
100  virtual bool init(const std::string& file);
101 
102  static DtlObjPtr parseAttribute(const DtlObjPtr& args, const DtlObjPtr& env);
103 
105  virtual void parseAttribute(const DtlObjPtr& args);
106 
107  virtual bool addAttributeInfo(DtAttributeInfo* info);
108 
113  virtual void valuesFromMask(const DtEntityMapperKey& type, unsigned int mask,
114  DtAttributeValues& result) const;
115 
116  virtual DtAttributeInfo* attributeInfo(const DtEntityMapperKey& key) const;
117 
119  virtual bool parseSISOFileForAttributes(const std::string& file);
120 
123  virtual void addSIDOUidToEntityTypeMapping(int, const DtEntityType&);
124 
125  protected:
127  virtual char* attributeString() const = 0;
128 
130  virtual DtAttributeInfo* createAttributeInfo(const DtEntityMapperKey& key) const;
131 
133  virtual bool parseAttribute(xmlNodePtr root);
134 
135  protected:
137 
138  typedef std::map<int, DtEntityType> UIDToEntityTypeMap;
140  };
141 }

Document ID: Generated on Sun Nov 24 19:49:21 EST 2013 from SVN revision 133924
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)