Teamcenter C++ API Reference  2312
attributeaccessor.hxx
Go to the documentation of this file.
1 // Copyright 2022 Siemens Digital Industries Software
2 // ==================================================
3 // Copyright 2018.
4 // Siemens Product Lifecycle Management Software Inc.
5 // All Rights Reserved.
6 // ==================================================
7 // Copyright 2022 Siemens Digital Industries Software
8 
19 #ifndef ATTRIBUTEACCESSOR_HXX
20 #define ATTRIBUTEACCESSOR_HXX
21 
22 #include <string>
23 #include <vector>
24 
26 
27 #include <cxpom/libcxpom_exports.h>
28 
29 class CXPOM_API AttributeAccessor
30 {
31 public:
32 
33 // Use same method name to support template function usage
34  static int getValue(tag_t inst_tag, tag_t att_tag, bool& value, bool& isNull) { return getLogicalValue(inst_tag, att_tag, value, isNull); }
35  static int getValue(tag_t inst_tag, tag_t att_tag, char& value, bool& isNull) { return getCharValue(inst_tag, att_tag, value, isNull); }
36  static int getValue(tag_t inst_tag, tag_t att_tag, date_t& value, bool& isNull) { return getDateValue(inst_tag, att_tag, value, isNull); }
37  static int getValue(tag_t inst_tag, tag_t att_tag, double& value, bool& isNull) { return getDoubleValue(inst_tag, att_tag, value, isNull); }
38  static int getValue(tag_t inst_tag, tag_t att_tag, int& value, bool& isNull) { return getIntegerValue(inst_tag, att_tag, value, isNull); }
39  static int getValue(tag_t inst_tag, tag_t att_tag, tag_t& value, bool& isNull) { return getTagValue(inst_tag, att_tag, value, isNull); }
40  static int getValue(tag_t inst_tag, tag_t att_tag, const char*& value, bool& isNull);
41  static int getValue(tag_t inst_tag, tag_t att_tag, Teamcenter::StdSmString& value, bool& isNull);
42 
43  static int getArrayValue(tag_t inst_tag, tag_t att_tag, Teamcenter::BoolVector& values, Teamcenter::BoolVector& isNulls);
44  static int getArrayValue(tag_t inst_tag, tag_t att_tag, Teamcenter::CharVector& values, Teamcenter::BoolVector& isNulls);
45  static int getArrayValue(tag_t inst_tag, tag_t att_tag, Teamcenter::DateVector& values, Teamcenter::BoolVector& isNulls);
46  static int getArrayValue(tag_t inst_tag, tag_t att_tag, Teamcenter::DoubleVector& values, Teamcenter::BoolVector& isNulls);
47  static int getArrayValue(tag_t inst_tag, tag_t att_tag, Teamcenter::IntVector& values, Teamcenter::BoolVector& isNulls);
48  static int getArrayValue(tag_t inst_tag, tag_t att_tag, Teamcenter::StringVector& values, Teamcenter::BoolVector& isNulls);
49  static int getArrayValue(tag_t inst_tag, tag_t att_tag, Teamcenter::TagVector& values, Teamcenter::BoolVector& isNulls);
50 
51 /***************************************************************************************************************************/
52 // getCharValue - method to get the value of a POMChar attribute and provides whether the user has read access on property
53 /**************************************************************************************************************************/
54  static int getCharValue ( tag_t inst_tag, tag_t att_tag , char &value, bool &isNull, bool &hasReadAccess );
55 
56 /***************************************************************************************************/
57 // getCharValue - method to get the value of a POMChar attribute
58 /***************************************************************************************************/
59  static int getCharValue ( tag_t inst_tag, tag_t att_tag , char &value, bool &isNull );
60 
61 /***************************************************************************************************/
62 // getCharValue - method to get the value of a POMChar attribute
63 /***************************************************************************************************/
64  static int getCharValue ( tag_t inst_tag, tag_t att_tag , char &value );
65 
66 /***************************************************************************************************/
67 // setCharValue - method to set the value of a POMChar attribute
68 /***************************************************************************************************/
69  static int setCharValue( tag_t inst_tag, tag_t att_tag , char value, bool isNull = false );
70 
71 /***************************************************************************************************************************/
72 // getDateValue - method to get the value of a POMDate attribute and provides whether the user has read access on property
73 /***************************************************************************************************************************/
74  static int getDateValue( tag_t inst_tag, tag_t att_tag , date_t &value, bool &isNull, bool& hasReadAccess );
75 
76 /***************************************************************************************************/
77 // getDateValue - method to get the value of a POMDate attribute
78 /***************************************************************************************************/
79  static int getDateValue( tag_t inst_tag, tag_t att_tag , date_t &value, bool &isNull );
80 
81 /***************************************************************************************************/
82 // getDateValue - method to get the value of a POMDate attribute
83 /***************************************************************************************************/
84  static int getDateValue( tag_t inst_tag, tag_t att_tag , date_t &value );
85 
86 /***************************************************************************************************/
87 // setDateValue - method to set the value of a POMDate attribute
88 /***************************************************************************************************/
89  static int setDateValue( tag_t inst_tag, tag_t att_tag , date_t value, bool isNull = false );
90 
91 /*****************************************************************************************************************************/
92 // getDoubleValue - method to get the value of a POMDouble attribute and provides whether the user has read access on property
93 /****************************************************************************************************************************/
94  static int getDoubleValue( tag_t inst_tag, tag_t att_tag , double &value, bool &isNull, bool& hasReadAccess );
95 
96 /***************************************************************************************************/
97 // getDoubleValue - method to get the value of a POMDouble attribute
98 /***************************************************************************************************/
99  static int getDoubleValue( tag_t inst_tag, tag_t att_tag , double &value, bool &isNull );
100 
101 /***************************************************************************************************/
102 // getDoubleValue - method to get the value of a POMDouble attribute
103 /***************************************************************************************************/
104  static int getDoubleValue( tag_t inst_tag, tag_t att_tag , double &value );
105 
106 /***************************************************************************************************/
107 // setDoubleValue - method to set the value of a POMDouble attribute
108 /***************************************************************************************************/
109  static int setDoubleValue( tag_t inst_tag, tag_t att_tag , double value, bool isNull = false );
110 
111 /*****************************************************************************************************************************/
112 // getIntegerValue - method to get the value of a POMInteger attribute and provides whether the user has read access on property
113 /*****************************************************************************************************************************/
114  static int getIntegerValue( tag_t inst_tag, tag_t att_tag , int &value, bool &isNull, bool& hasReadAccess );
115 
116 /***************************************************************************************************/
117 // getIntegerValue - method to get the value of a POMInteger attribute
118 /***************************************************************************************************/
119  static int getIntegerValue( tag_t inst_tag, tag_t att_tag , int &value, bool &isNull );
120 
121 /***************************************************************************************************/
122 // getIntegerValue - method to get the value of a POMInteger attribute
123 /***************************************************************************************************/
124  static int getIntegerValue( tag_t inst_tag, tag_t att_tag , int &value );
125 
126 /***************************************************************************************************/
127 // setIntegerValue - method to set the value of a POMInteger attribute
128 /***************************************************************************************************/
129  static int setIntegerValue( tag_t inst_tag, tag_t att_tag , int value, bool isNull = false );
130 
131 /*****************************************************************************************************************************/
132 // getLogicalValue - method to get the value of a POMlogical attribute and provides whether the user has read access on property
133 /*****************************************************************************************************************************/
134  static int getLogicalValue( tag_t inst_tag, tag_t att_tag , bool &value, bool &isNull, bool& hasReadAccess );
135 
136 /***************************************************************************************************/
137 // getLogicalValue - method to get the value of a POMlogical attribute
138 /***************************************************************************************************/
139  static int getLogicalValue( tag_t inst_tag, tag_t att_tag , bool &value, bool &isNull );
140 
141 /***************************************************************************************************/
142 // getLogicalValue - method to get the value of a POMlogical attribute
143 /***************************************************************************************************/
144  static int getLogicalValue( tag_t inst_tag, tag_t att_tag , bool &value );
145 
146 /***************************************************************************************************/
147 // setLogicalValue - method to set the value of a POMLogical attribute
148 /***************************************************************************************************/
149  static int setLogicalValue( tag_t inst_tag, tag_t att_tag , bool value, bool isNull = false );
150 
151 /***************************************************************************************************/
152 // getStringValue - method to get the value of a POMString attribute
153 /***************************************************************************************************/
154  static int getStringValue( tag_t inst_tag, tag_t att_tag , std::string& value, bool &isNull );
155 
156 /***************************************************************************************************/
157 // getStringValue - method to get the value of a POMString attribute
158 /***************************************************************************************************/
159  static int getStringValue( tag_t inst_tag, tag_t att_tag , std::string& value );
160 
161 /*****************************************************************************************************************************/
162 // getStringValue - method to get the value of a POMString attribute and provides whether the user has read access on property
163 /*****************************************************************************************************************************/
164  static int getStringValue(tag_t inst_tag, tag_t att_tag, std::string& value, bool& isNull, bool& hasReadAccess );
165 
166 /***************************************************************************************************/
167 // setStringValue - method to set the value of a POMString attribute
168 /***************************************************************************************************/
169  static int setStringValue( tag_t inst_tag, tag_t att_tag ,const std::string& value, bool isNull = false );
170 
171 /*****************************************************************************************************************************/
172 // getTagValue - method to get the value of a POMTag attribute and provides whether the user has read access on property
173 /*****************************************************************************************************************************/
174  static int getTagValue( tag_t inst_tag, tag_t att_tag , tag_t &value, bool &isNull, bool& hasReadAccess);
175 
176 /***************************************************************************************************/
177 // getTagValue - method to get the value of a POMTag attribute
178 /***************************************************************************************************/
179  static int getTagValue( tag_t inst_tag, tag_t att_tag , tag_t &value, bool &isNull );
180 
181 /***************************************************************************************************/
182 // getTagValue - method to get the value of a POMTag attribute
183 /***************************************************************************************************/
184  static int getTagValue( tag_t inst_tag, tag_t att_tag , tag_t &value );
185 
186 /***************************************************************************************************/
187 // setTagValue - method to set the value of a POMTag attribute
188 /***************************************************************************************************/
189  static int setTagValue( tag_t inst_tag, tag_t att_tag , tag_t value, bool isNull = false );
190 
191 /*****************************************************************************************************************************/
192 // getCharValueAt - method to get the value of a POMChar attribute and provides whether the user has read access on property
193 /*****************************************************************************************************************************/
194  static int getCharValueAt( tag_t inst_tag, tag_t att_tag, int pos, char& value, bool* isNull, bool& hasReadAccess );
195 
196 /***************************************************************************************************/
197 // getCharValueAt - method to get the value of a POMChar attribute
198 /***************************************************************************************************/
199  static int getCharValueAt( tag_t inst_tag, tag_t att_tag, int pos, char &value, bool* isNull = 0 );
200 
201 /***************************************************************************************************/
202 // setCharValueAt - method to set the value of a POMChar attribute
203 /***************************************************************************************************/
204  static int setCharValueAt( tag_t inst_tag, tag_t att_tag , int pos, char value, bool isNull = false );
205 
206 /*****************************************************************************************************************************/
207 // getDateValueAt - method to get the value of a POMDate attribute and provides whether the user has read access on property
208 /*****************************************************************************************************************************/
209  static int getDateValueAt( tag_t inst_tag, tag_t att_tag, int pos, date_t& value, bool* isNull, bool& hasReadAccess );
210 
211 /***************************************************************************************************/
212 // getDateValueAt - method to get the value of a POMDate attribute
213 /***************************************************************************************************/
214  static int getDateValueAt( tag_t inst_tag, tag_t att_tag, int pos, date_t &value, bool* isNull = 0 );
215 
216 /***************************************************************************************************/
217 // setDateValueAt - method to set the value of a POMDate attribute
218 /***************************************************************************************************/
219  static int setDateValueAt( tag_t inst_tag, tag_t att_tag , int pos, date_t value, bool isNull = false );
220 
221 /*****************************************************************************************************************************/
222 // getDoubleValueAt - method to get the value of a POMDouble attribute and provides whether the user has read access on property
223 /*****************************************************************************************************************************/
224  static int getDoubleValueAt( tag_t inst_tag, tag_t att_tag, int pos, double& value, bool* isNull, bool& hasReadAccess );
225 
226 /***************************************************************************************************/
227 // getDoubleValueAt - method to get the value of a POMDouble attribute
228 /***************************************************************************************************/
229  static int getDoubleValueAt( tag_t inst_tag, tag_t att_tag , int pos, double &value, bool* isNull = 0 );
230 
231 /***************************************************************************************************/
232 // setDoubleValueAt - method to set the value of a POMdouble attribute
233 /***************************************************************************************************/
234  static int setDoubleValueAt( tag_t inst_tag, tag_t att_tag , int pos, double value, bool isNull = false );
235 
236 /*****************************************************************************************************************************/
237 // getIntegerValueAt - method to get the value of a POMInteger attribute and provides whether the user has read access on property
238 /*****************************************************************************************************************************/
239  static int getIntegerValueAt( tag_t inst_tag, tag_t att_tag, int pos, int& value, bool* isNull, bool& hasReadAccess );
240 
241 /***************************************************************************************************/
242 // getIntegerValueAt - method to get the value of a POMInteger attribute
243 /***************************************************************************************************/
244  static int getIntegerValueAt( tag_t inst_tag, tag_t att_tag , int pos, int &value, bool* isNull = 0 );
245 
246 /***************************************************************************************************/
247 // setIntegerValueAt - method to set the value of a POMInteger attribute
248 /***************************************************************************************************/
249  static int setIntegerValueAt( tag_t inst_tag, tag_t att_tag , int pos, int value, bool isNull = false );
250 
251 /*****************************************************************************************************************************/
252 // getLogicalValueAt - method to get the value of a POMLogical attribute and provides whether the user has read access on property
253 /*****************************************************************************************************************************/
254  static int getLogicalValueAt( tag_t inst_tag, tag_t att_tag, int pos, bool& value, bool* isNull, bool& hasReadAccess );
255 
256 /***************************************************************************************************/
257 // getLogicalValueAt - method to get the value of a POMLogical attribute
258 /***************************************************************************************************/
259  static int getLogicalValueAt( tag_t inst_tag, tag_t att_tag , int pos, bool &value, bool* isNull = 0 );
260 
261 /***************************************************************************************************/
262 // setLogicalValueAt - method to set the value of a POMLogical attribute
263 /***************************************************************************************************/
264  static int setLogicalValueAt( tag_t inst_tag, tag_t att_tag , int pos, bool value, bool isNull = false );
265 
266 /*****************************************************************************************************************************/
267 // getStringValueAt - method to get the value of a POMString attribute and provides whether the user has read access on property
268 /*****************************************************************************************************************************/
269  static int getStringValueAt( tag_t inst_tag, tag_t att_tag, int pos, std::string& value, bool* isNull, bool& hasReadAccess );
270 
271 /***************************************************************************************************/
272 // getStringValueAt - method to get the value of a POMString attribute
273 /***************************************************************************************************/
274  static int getStringValueAt( tag_t inst_tag, tag_t att_tag , int pos, std::string& value, bool* isNull = 0 );
275 
276 /***************************************************************************************************/
277 // setStringValueAt - method to set the value of a POMString attribute
278 /***************************************************************************************************/
279  static int setStringValueAt( tag_t inst_tag, tag_t att_tag , int pos, std::string& value, bool isNull = false );
280 
281 /*****************************************************************************************************************************/
282 // getTagValueAt - method to get the value of a POMTag attribute and provides whether the user has read access on property
283 /*****************************************************************************************************************************/
284  static int getTagValueAt( tag_t inst_tag, tag_t att_tag, int pos, tag_t& value, bool* isNull, bool& hasReadAccess );
285 
286 /***************************************************************************************************/
287 // getTagValueAt - method to get the value of a POMTag attribute
288 /***************************************************************************************************/
289  static int getTagValueAt( tag_t inst_tag, tag_t att_tag , int pos, tag_t &value, bool* isNull = 0 );
290 
291 /***************************************************************************************************/
292 // setTagValueAt - method to set the value of a POMTag attribute
293 /***************************************************************************************************/
294  static int setTagValueAt( tag_t inst_tag, tag_t att_tag , int pos, tag_t value, bool isNull = false );
295 
296 /***************************************************************************************************/
297 // getCharValues - method to get the value of a POMCharArray attribute and provides whether the user has read access on property
298 /***************************************************************************************************/
299  static int getCharValues( tag_t inst_tag, tag_t att_tag, std::vector<char> &values, std::vector<int> &isNull, bool& hasReadAccess );
300 
301 /***************************************************************************************************/
302 // getCharValues - method to get the value of a POMCharArray attribute
303 /***************************************************************************************************/
304  static int getCharValues( tag_t inst_tag, tag_t att_tag, std::vector<char> &values, std::vector<int> &isNull );
305 
306 /***************************************************************************************************/
307 // getCharValues - method to get the value of a POMCharArray attribute
308 /***************************************************************************************************/
309  static int getCharValues( tag_t inst_tag, tag_t att_tag, std::vector<char> &values );
310 
311 /***************************************************************************************************/
312 // getDateValues - method to get the value of a POMDateArray attribute and provides whether the user has read access on property
313 /***************************************************************************************************/
314  static int getDateValues( tag_t inst_tag, tag_t att_tag, std::vector< date_t > &values, std::vector<int> &isNull, bool& hasReadAccess );
315 
316 /***************************************************************************************************/
317 // getDateValues - method to get the value of a POMDateArray attribute
318 /***************************************************************************************************/
319  static int getDateValues( tag_t inst_tag, tag_t att_tag, std::vector< date_t > &values, std::vector<int> &isNull );
320 
321 /***************************************************************************************************/
322 // getDateValues - method to get the value of a POMDateArray attribute
323 /***************************************************************************************************/
324  static int getDateValues( tag_t inst_tag, tag_t att_tag, std::vector< date_t > &values );
325 
326 /***************************************************************************************************/
327 // getDoubleValues - method to get the value of a POMDoubleArray attribute and provides whether the user has read access on property
328 /***************************************************************************************************/
329  static int getDoubleValues( tag_t inst_tag, tag_t att_tag , std::vector< double > &values, std::vector<int> &isNull, bool& hasReadAccess );
330 
331 /***************************************************************************************************/
332 // getDoubleValues - method to get the value of a POMDoubleArray attribute
333 /***************************************************************************************************/
334  static int getDoubleValues( tag_t inst_tag, tag_t att_tag , std::vector< double > &values, std::vector<int> &isNull );
335 
336 /***************************************************************************************************/
337 // getDoubleValues - method to get the value of a POMDoubleArray attribute
338 /***************************************************************************************************/
339  static int getDoubleValues( tag_t inst_tag, tag_t att_tag , std::vector< double > &values );
340 
341 /***************************************************************************************************/
342 // getIntegerValues - method to get the value of a POMIntegerArray attribute and provides whether the user has read access on property
343 /***************************************************************************************************/
344  static int getIntegerValues( tag_t inst_tag, tag_t att_tag , std::vector<int> &values, std::vector<int> &isNull, bool& hasReadAccess );
345 
346 /***************************************************************************************************/
347 // getIntegerValues - method to get the value of a POMIntegerArray attribute
348 /***************************************************************************************************/
349  static int getIntegerValues( tag_t inst_tag, tag_t att_tag , std::vector<int> &values, std::vector<int> &isNull );
350 
351 /***************************************************************************************************/
352 // getIntegerValues - method to get the value of a POMIntegerArray attribute
353 /***************************************************************************************************/
354  static int getIntegerValues( tag_t inst_tag, tag_t att_tag , std::vector<int> &values );
355 
356 /***************************************************************************************************/
357 // getLogicalValues - method to get the value of a POMLogicalArray attribute and provides whether the user has read access on property
358 /***************************************************************************************************/
359  static int getLogicalValues( tag_t inst_tag, tag_t att_tag, std::vector<int> &values, std::vector<int> &isNull, bool& hasReadAccess );
360 
361 /***************************************************************************************************/
362 // getLogicalValues - method to get the value of a POMLogicalArray attribute
363 /***************************************************************************************************/
364  static int getLogicalValues( tag_t inst_tag, tag_t att_tag, std::vector<int> &values, std::vector<int> &isNull );
365 
366 /***************************************************************************************************/
367 // getLogicalValues - method to get the value of a POMLogicalArray attribute
368 /***************************************************************************************************/
369  static int getLogicalValues( tag_t inst_tag, tag_t att_tag, std::vector<int> &values );
370 
371 /***************************************************************************************************/
372 // getStringValues - method to get the value of a POMStringArray attribute and provides whether the user has read access on property
373 /***************************************************************************************************/
374  static int getStringValues( tag_t inst_tag, tag_t att_tag, std::vector<std::string> &values, std::vector<int> &isNull, bool& hasReadAccess );
375 
376 /***************************************************************************************************/
377 // getStringValues - method to get the value of a POMStringArray attribute
378 /***************************************************************************************************/
379  static int getStringValues( tag_t inst_tag, tag_t att_tag, std::vector<std::string> &values, std::vector<int> &isNull );
380 
381 /***************************************************************************************************/
382 // getStringValues - method to get the value of a POMStringArray attribute
383 /***************************************************************************************************/
384  static int getStringValues( tag_t inst_tag, tag_t att_tag, std::vector<std::string> &values );
385 
386 /***************************************************************************************************/
387 // getTagValues - method to get the value of a POMTagArray attribute and provides whether the user has read access on property
388 /***************************************************************************************************/
389  static int getTagValues( tag_t inst_tag, tag_t att_tag , std::vector<tag_t> &values, std::vector<int> &isNull, bool& hasReadAccess );
390 
391 /***************************************************************************************************/
392 // getTagValues - method to get the value of a POMTagArray attribute
393 /***************************************************************************************************/
394  static int getTagValues( tag_t inst_tag, tag_t att_tag , std::vector<tag_t> &values, std::vector<int> &isNull );
395 
396 /***************************************************************************************************/
397 // getTagValues - method to get the value of a POMTagArray attribute
398 /***************************************************************************************************/
399  static int getTagValues( tag_t inst_tag, tag_t att_tag , std::vector<tag_t> &values );
400 
401 /***************************************************************************************************/
402 // setTagValues - method to set the value of a POMTag attribute
403 /***************************************************************************************************/
404  static int appendTagValues( tag_t inst_tag, tag_t att_tag , const std::vector<tag_t> &values, const std::vector<int> *isNull = 0 );
405 
406 /***************************************************************************************************/
407 // isCharNull - method to check if the POMChar attribute is null
408 /***************************************************************************************************/
409  static bool isCharNull ( tag_t inst_tag, tag_t att_tag );
410 
411 /***************************************************************************************************/
412 // isDateNull - method to check if the POMDate attribute is null
413 /***************************************************************************************************/
414  static bool isDateNull ( tag_t inst_tag, tag_t att_tag );
415 
416 /***************************************************************************************************/
417 // isDoubleNull - method to check if the POMDouble attribute is null
418 /***************************************************************************************************/
419  static bool isDoubleNull ( tag_t inst_tag, tag_t att_tag );
420 
421 /***************************************************************************************************/
422 // isIntegerNull - method to check if the POMInteger attribute is null
423 /***************************************************************************************************/
424  static bool isIntegerNull ( tag_t inst_tag, tag_t att_tag );
425 
426 /***************************************************************************************************/
427 // isLogicalNull - method to check if the POMLogical attribute is null
428 /***************************************************************************************************/
429  static bool isLogicalNull ( tag_t inst_tag, tag_t att_tag );
430 
431 /***************************************************************************************************/
432 // isStringNull - method to check if the POMString attribute is null
433 /***************************************************************************************************/
434  static bool isStringNull ( tag_t inst_tag, tag_t att_tag );
435 
436 /***************************************************************************************************/
437 // isTagNull - method to check if the POMTag attribute is null
438 /***************************************************************************************************/
439  static bool isTagNull ( tag_t inst_tag, tag_t att_tag );
440 
452  static int insertChar( tag_t inst_tag, tag_t att_tag, int pos, char type );
453 
466  static int insertDate( tag_t inst_tag, tag_t att_tag, int pos, date_t type );
467 
479  static int insertDouble( tag_t inst_tag, tag_t att_tag, int pos, double type );
480 
491  static int insertInteger( tag_t inst_tag, tag_t att_tag, int pos, int type );
492 
503  static int insertLogical( tag_t inst_tag, tag_t att_tag, int pos, bool type );
504 
515  static int insertString( tag_t inst_tag, tag_t att_tag, int pos, std::string type );
516 
527  static int insertTag( tag_t inst_tag, tag_t att_tag, int pos, tag_t type );
528 
529 /***************************************************************************************************/
530 // charIndex - method to get the index value for a given value of the POMChar attribute
531 /***************************************************************************************************/
532  static int charIndex( tag_t inst_tag, tag_t att_tag , char value, int &index_val );
533 
534 /***************************************************************************************************/
535 // dateIndex - method to get the index value for a given value of the POMDate attribute
536 /***************************************************************************************************/
537  static int dateIndex( tag_t inst_tag, tag_t att_tag , date_t value, int &index_val );
538 
539 /***************************************************************************************************/
540 // doubleIndex - method to get the index value for a given value of the POMDouble attribute
541 /***************************************************************************************************/
542  static int doubleIndex( tag_t inst_tag, tag_t att_tag , double value, int &index_val );
543 
544 /***************************************************************************************************/
545 // integerIndex - method to get the index value for a given value of the POMInteger attribute
546 /***************************************************************************************************/
547  static int integerIndex( tag_t inst_tag, tag_t att_tag , int value, int &index_val );
548 
549 /***************************************************************************************************/
550 // logicalIndex - method to get the index value for a given value of the POMLogical attribute
551 /***************************************************************************************************/
552  static int logicalIndex( tag_t inst_tag, tag_t att_tag , logical value, int &index_val );
553 
554 /***************************************************************************************************/
555 // stringIndex - method to get the index value for a given value of the POMString attribute
556 /***************************************************************************************************/
557  static int stringIndex( tag_t inst_tag, tag_t att_tag , std::string& value, int &index_val );
558 
559 /***************************************************************************************************/
560 // tagIndex - method to get the index value for a given value of the POMTag attribute
561 /***************************************************************************************************/
562  static int tagIndex( tag_t inst_tag, tag_t att_tag , tag_t value, int &index_val );
563 
564 /***************************************************************************************************/
565 // removeChar - method to remove a POMChar value from an Array/List
566 /***************************************************************************************************/
567  static int removeChar( tag_t inst_tag, tag_t att_tag , char value );
568 
569 /***************************************************************************************************/
570 // removeDate - method to remove a PODate value from an Array/List
571 /***************************************************************************************************/
572  static int removeDate( tag_t inst_tag, tag_t att_tag , date_t value );
573 
574 /***************************************************************************************************/
575 // removeDouble - method to remove a POMDouble value from an Array/List
576 /***************************************************************************************************/
577  static int removeDouble( tag_t inst_tag, tag_t att_tag , double value );
578 
579 /***************************************************************************************************/
580 // removeInteger - method to remove a POMInteger value from an Array/List
581 /***************************************************************************************************/
582  static int removeInteger( tag_t inst_tag, tag_t att_tag , int value );
583 
584 /***************************************************************************************************/
585 // removeLogical - method to remove a POMLogical value from an Array/List
586 /***************************************************************************************************/
587  static int removeLogical( tag_t inst_tag, tag_t att_tag , bool value );
588 
589 /***************************************************************************************************/
590 // removeString - method to remove a POMString value from an Array/List
591 /***************************************************************************************************/
592  static int removeString( tag_t inst_tag, tag_t att_tag , std::string& value );
593 
594 /***************************************************************************************************/
595 // removeTag - method to remove a POMTag value from an Array/List
596 /***************************************************************************************************/
597  static int removeTag( tag_t inst_tag, tag_t att_tag , tag_t value );
598 
599 /***************************************************************************************************/
600 // appendChar - method to append a POMChar value to an Array/List
601 /***************************************************************************************************/
602  static int appendChar( tag_t inst_tag, tag_t att_tag , char value );
603 
604 /***************************************************************************************************/
605 // appendDate - method to append a POMDate value to an Array/List
606 /***************************************************************************************************/
607  static int appendDate( tag_t inst_tag, tag_t att_tag , date_t value );
608 
609 /***************************************************************************************************/
610 // appendDouble - method to append a POMDouble value to an Array/List
611 /***************************************************************************************************/
612  static int appendDouble( tag_t inst_tag, tag_t att_tag , double value );
613 
614 /***************************************************************************************************/
615 // appendInteger - method to append a POMInteger value to an Array/List
616 /***************************************************************************************************/
617  static int appendInteger( tag_t inst_tag, tag_t att_tag , int value );
618 
619 /***************************************************************************************************/
620 // appendLogical - method to append a POMLogical value to an Array/List
621 /***************************************************************************************************/
622  static int appendLogical( tag_t inst_tag, tag_t att_tag , bool value );
623 
624 /***************************************************************************************************/
625 // appendString - method to append a POMDouble value to an Array/List
626 /***************************************************************************************************/
627  static int appendString( tag_t inst_tag, tag_t att_tag , std::string value );
628 
629 /***************************************************************************************************/
630 // appendTag - method to append a POMInteger value to an Array/List
631 /***************************************************************************************************/
632  static int appendTag( tag_t inst_tag, tag_t att_tag , tag_t value );
633 
634 /***************************************************************************************************/
635 // resetCharArray - method to reset the values in a POMChar Array/List
636 /***************************************************************************************************/
637  static int resetCharArray( tag_t inst_tag, tag_t att_tag, const std::vector<char>& values, const std::vector<int>* is_null = 0);
638 
639 /***************************************************************************************************/
640 // resetCharList - method to reset the values in a POMChar Array/List
641 /***************************************************************************************************/
642  static int resetCharList( tag_t inst_tag, tag_t att_tag, const std::vector<char>& values, const std::vector<int>* is_null = 0);
643 
644 /***************************************************************************************************/
645 // resetDateArray - method to reset the values in a POMDate Array/List
646 /***************************************************************************************************/
647  static int resetDateArray( tag_t inst_tag, tag_t att_tag, const std::vector<date_t>& values, const std::vector<int>* is_null = 0);
648 
649 /***************************************************************************************************/
650 // resetDateList - method to reset the values in a POMDate Array/List
651 /***************************************************************************************************/
652  static int resetDateList( tag_t inst_tag, tag_t att_tag, const std::vector<date_t>& values, const std::vector<int>* is_null = 0);
653 
654 /***************************************************************************************************/
655 // resetDoubleArray - method to reset the values in a POMDouble Array/List
656 /***************************************************************************************************/
657  static int resetDoubleArray( tag_t inst_tag, tag_t att_tag, const std::vector<double>& values, const std::vector<int>* is_null = 0);
658 
659 /***************************************************************************************************/
660 // resetDoubleList - method to reset the values in a POMDouble Array/List
661 /***************************************************************************************************/
662  static int resetDoubleList( tag_t inst_tag, tag_t att_tag, const std::vector<double>& values, const std::vector<int>* is_null);
663 
664 /***************************************************************************************************/
665 // resetIntegerArray - method to reset the values in a POMInteger Array/List
666 /***************************************************************************************************/
667  static int resetIntegerArray( tag_t inst_tag, tag_t att_tag, const std::vector<int>& values, const std::vector<int>* is_null);
668 
669 /***************************************************************************************************/
670 // resetIntegerList - method to reset the values in a POMInteger Array/List
671 /***************************************************************************************************/
672  static int resetIntegerList( tag_t inst_tag, tag_t att_tag, const std::vector<int>& values, const std::vector<int>* is_null = 0);
673 
674 /***************************************************************************************************/
675 // resetLogicalArray - method to reset the values in a POMLogical Array/List
676 /***************************************************************************************************/
677  static int resetLogicalArray( tag_t inst_tag, tag_t att_tag, const std::vector<int>& values, const std::vector<int>* is_null = 0);
678 
679 /***************************************************************************************************/
680 // resetLogicalList - method to reset the values in a POMLogical Array/List
681 /***************************************************************************************************/
682  static int resetLogicalList( tag_t inst_tag, tag_t att_tag, const std::vector<int>& values, const std::vector<int>* is_null = 0);
683 
684 /***************************************************************************************************/
685 // resetStringArray - method to reset the values in a POMString Array/List
686 /***************************************************************************************************/
687  static int resetStringArray( tag_t inst_tag, tag_t att_tag, const std::vector<std::string>& values, const std::vector<int>* is_null = 0);
688 
689 /***************************************************************************************************/
690 // resetStringList - method to reset the values in a POMString Array/List
691 /***************************************************************************************************/
692  static int resetStringList( tag_t inst_tag, tag_t att_tag, const std::vector<std::string>& values, const std::vector<int>* is_null = 0);
693 
694 /***************************************************************************************************/
695 // resetTagArray - method to reset the values in a POMTag Array/List
696 /***************************************************************************************************/
697  static int resetTagArray( tag_t inst_tag, tag_t att_tag, const std::vector<tag_t>& values, const std::vector<int>* is_null = 0);
698 
699 /***************************************************************************************************/
700 // resetTagList - method to reset the values in a POMTag Array/List
701 /***************************************************************************************************/
702  static int resetTagList( tag_t inst_tag, tag_t att_tag, const std::vector<tag_t>& values, const std::vector<int>* is_null = 0);
703 
704 /***************************************************************************************************/
705 // length - Method to get length of POMArray
706 /***************************************************************************************************/
707  static int length( tag_t inst_tag, tag_t att_tag);
708 
709 /***************************************************************************************************/
710 // setNull - Method to set the value of a POM attribute as null
711 /***************************************************************************************************/
712  static int setNull( tag_t inst_tag, tag_t attr_tag );
713 
714 /***************************************************************************************************/
715 // clear - Method to set the value of a POM attribute as null
716 /***************************************************************************************************/
717  static int setNullList( tag_t inst_tag, tag_t attr_tag );
718 
719 /***************************************************************************************************/
720 // setNulls - Method to set the value of a POM attribute as null
721 /***************************************************************************************************/
722  static int setNullArray( tag_t inst_tag, tag_t attr_tag );
723 
724 /***************************************************************************************************/
725 // removeAt - Method to remove the vallue from a given position
726 /***************************************************************************************************/
727  static int removeAt(tag_t inst, tag_t attr, int position);
728 
729 /***************************************************************************************************/
730 // reorder - Method to reorder the values in a POMTag Array/List
731 /***************************************************************************************************/
732  static int reorder(tag_t inst_tag, tag_t attr_tag, int oldStart, int oldEnd, int newStart);
733 
734 private:
735  static int getCharValue(tag_t inst_tag, tag_t att_tag, bool checkReadAccess, char& value, bool& isNull, bool& isEmpty, bool& hasReadAccess);
736  static int getDateValue(tag_t inst_tag, tag_t att_tag, bool checkReadAccess, date_t& value, bool& isNull, bool& isEmpty, bool& hasReadAccess);
737  static int getDoubleValue(tag_t inst_tag, tag_t att_tag, bool checkReadAccess, double& value, bool& isNull, bool& isEmpty, bool& hasReadAccess);
738  static int getIntegerValue(tag_t inst_tag, tag_t att_tag, bool checkReadAccess, int& value, bool& isNull, bool& isEmpty, bool& hasReadAccess);
739  static int getLogicalValue(tag_t inst_tag, tag_t att_tag, bool checkReadAccess, bool& value, bool& isNull, bool& isEmpty, bool& hasReadAccess);
740  static int getStringValue(tag_t inst_tag, tag_t att_tag, bool checkReadAccess, std::string& value, bool& isNull, bool& isEmpty, bool& hasReadAccess);
741  static int getTagValue(tag_t inst_tag, tag_t att_tag, bool checkReadAccess, tag_t& value, bool& isNull, bool& isEmpty, bool& hasReadAccess);
742 };
743 
744 #include <cxpom/libcxpom_undef.h>
745 #endif