Atlas-C++
RootOperation.h
1 // This file may be redistributed and modified only under the terms of
2 // the GNU Lesser General Public License (See COPYING for details).
3 // Copyright 2000-2001 Stefanus Du Toit and Aloril.
4 // Copyright 2001-2005 Alistair Riddoch.
5 // Automatically generated using gen_cpp.py.
6 
7 #ifndef ATLAS_OBJECTS_OPERATION_ROOTOPERATION_H
8 #define ATLAS_OBJECTS_OPERATION_ROOTOPERATION_H
9 
10 #include <Atlas/Objects/Root.h>
11 #include <Atlas/Objects/SmartPtr.h>
12 
13 #include <Atlas/Objects/objectFactory.h>
14 
15 namespace Atlas { namespace Objects { namespace Operation {
16 
27 class RootOperationData;
28 typedef SmartPtr<RootOperationData> RootOperation;
29 
30 static const int ROOT_OPERATION_NO = 9;
31 
34 
41 {
42 protected:
44  RootOperationData(RootOperationData *defaults = NULL) :
45  RootData((RootData*)defaults)
46  {
47  m_class_no = ROOT_OPERATION_NO;
48  }
50  virtual ~RootOperationData();
51 
52 public:
54  virtual RootOperationData * copy() const;
55 
57  virtual bool instanceOf(int classNo) const;
58 
61  virtual int copyAttr(const std::string& name, Atlas::Message::Element & attr) const;
63  virtual void setAttr(const std::string& name,
64  const Atlas::Message::Element& attr);
66  virtual void removeAttr(const std::string& name);
67 
69  virtual void sendContents(Atlas::Bridge & b) const;
70 
72  virtual void addToMessage(Atlas::Message::MapType &) const;
73 
75  inline void setSerialno(long val);
77  inline void setRefno(long val);
79  inline void setFrom(const std::string& val);
81  inline void setTo(const std::string& val);
83  inline void setSeconds(double val);
85  inline void setFutureSeconds(double val);
87  inline void setArgs(const std::vector<Root>& val);
89  inline void setArgsAsList(const Atlas::Message::ListType& val);
91  template <class ObjectData>
92  inline void setArgs1(const SmartPtr<ObjectData> & val);
93 
95  inline long getSerialno() const;
97  inline long& modifySerialno();
99  inline long getRefno() const;
101  inline long& modifyRefno();
103  inline const std::string& getFrom() const;
105  inline std::string& modifyFrom();
107  inline const std::string& getTo() const;
109  inline std::string& modifyTo();
111  inline double getSeconds() const;
113  inline double& modifySeconds();
115  inline double getFutureSeconds() const;
117  inline double& modifyFutureSeconds();
119  inline const std::vector<Root>& getArgs() const;
121  inline std::vector<Root>& modifyArgs();
123  inline const Atlas::Message::ListType getArgsAsList() const;
124 
126  inline bool isDefaultSerialno() const;
128  inline bool isDefaultRefno() const;
130  inline bool isDefaultFrom() const;
132  inline bool isDefaultTo() const;
134  inline bool isDefaultSeconds() const;
136  inline bool isDefaultFutureSeconds() const;
138  inline bool isDefaultArgs() const;
139 
140 protected:
142  virtual int getAttrClass(const std::string& name)const;
144  virtual int getAttrFlag(const std::string& name)const;
150  std::string attr_from;
152  std::string attr_to;
154  double attr_seconds;
158  std::vector<Root> attr_args;
159 
161  void sendSerialno(Atlas::Bridge&) const;
163  void sendRefno(Atlas::Bridge&) const;
165  void sendFrom(Atlas::Bridge&) const;
167  void sendTo(Atlas::Bridge&) const;
169  void sendSeconds(Atlas::Bridge&) const;
171  void sendFutureSeconds(Atlas::Bridge&) const;
173  void sendArgs(Atlas::Bridge&) const;
174 
175  virtual void iterate(int& current_class, std::string& attr) const;
176 
177  //freelist related things
178 public:
179  static RootOperationData *alloc();
180  virtual void free();
181 
187 
193 private:
194  static RootOperationData *defaults_RootOperationData;
195  static RootOperationData *begin_RootOperationData;
196 
197  static std::map<std::string, int> * attr_flags_RootOperationData;
198 };
199 
200 //
201 // Attribute name strings follow.
202 //
203 
204 extern const std::string SERIALNO_ATTR;
205 extern const std::string REFNO_ATTR;
206 extern const std::string FROM_ATTR;
207 extern const std::string TO_ATTR;
208 extern const std::string SECONDS_ATTR;
209 extern const std::string FUTURE_SECONDS_ATTR;
210 extern const std::string ARGS_ATTR;
211 
212 //
213 // Inlined member functions follow.
214 //
215 
216 const int SERIALNO_FLAG = 1 << 14;
217 
219 {
220  attr_serialno = val;
221  m_attrFlags |= SERIALNO_FLAG;
222 }
223 
224 const int REFNO_FLAG = 1 << 15;
225 
227 {
228  attr_refno = val;
229  m_attrFlags |= REFNO_FLAG;
230 }
231 
232 const int FROM_FLAG = 1 << 16;
233 
234 void RootOperationData::setFrom(const std::string& val)
235 {
236  attr_from = val;
237  m_attrFlags |= FROM_FLAG;
238 }
239 
240 const int TO_FLAG = 1 << 17;
241 
242 void RootOperationData::setTo(const std::string& val)
243 {
244  attr_to = val;
245  m_attrFlags |= TO_FLAG;
246 }
247 
248 const int SECONDS_FLAG = 1 << 18;
249 
251 {
252  attr_seconds = val;
253  m_attrFlags |= SECONDS_FLAG;
254 }
255 
256 const int FUTURE_SECONDS_FLAG = 1 << 19;
257 
259 {
260  attr_future_seconds = val;
261  m_attrFlags |= FUTURE_SECONDS_FLAG;
262 }
263 
264 const int ARGS_FLAG = 1 << 20;
265 
266 void RootOperationData::setArgs(const std::vector<Root>& val)
267 {
268  attr_args = val;
269  m_attrFlags |= ARGS_FLAG;
270 }
271 
272 void RootOperationData::setArgsAsList(const Atlas::Message::ListType& val)
273 {
274  m_attrFlags |= ARGS_FLAG;
275  attr_args.resize(0);
276  for(Message::ListType::const_iterator I = val.begin();
277  I != val.end();
278  I++)
279  {
280  if (I->isMap()) {
281  attr_args.push_back(Factories::instance()->createObject(I->asMap()));
282  }
283  }
284 }
285 
286 template <class ObjectData>
288 {
289  m_attrFlags |= ARGS_FLAG;
290  if(attr_args.size()!=1) attr_args.resize(1);
291  attr_args[0] = val;
292 }
293 
295 {
296  if(m_attrFlags & SERIALNO_FLAG)
297  return attr_serialno;
298  else
299  return ((RootOperationData*)m_defaults)->attr_serialno;
300 }
301 
303 {
304  if(!(m_attrFlags & SERIALNO_FLAG))
306  return attr_serialno;
307 }
308 
310 {
311  if(m_attrFlags & REFNO_FLAG)
312  return attr_refno;
313  else
314  return ((RootOperationData*)m_defaults)->attr_refno;
315 }
316 
318 {
319  if(!(m_attrFlags & REFNO_FLAG))
320  setRefno(((RootOperationData*)m_defaults)->attr_refno);
321  return attr_refno;
322 }
323 
324 const std::string& RootOperationData::getFrom() const
325 {
326  if(m_attrFlags & FROM_FLAG)
327  return attr_from;
328  else
329  return ((RootOperationData*)m_defaults)->attr_from;
330 }
331 
333 {
334  if(!(m_attrFlags & FROM_FLAG))
335  setFrom(((RootOperationData*)m_defaults)->attr_from);
336  return attr_from;
337 }
338 
339 const std::string& RootOperationData::getTo() const
340 {
341  if(m_attrFlags & TO_FLAG)
342  return attr_to;
343  else
344  return ((RootOperationData*)m_defaults)->attr_to;
345 }
346 
348 {
349  if(!(m_attrFlags & TO_FLAG))
350  setTo(((RootOperationData*)m_defaults)->attr_to);
351  return attr_to;
352 }
353 
355 {
356  if(m_attrFlags & SECONDS_FLAG)
357  return attr_seconds;
358  else
359  return ((RootOperationData*)m_defaults)->attr_seconds;
360 }
361 
363 {
364  if(!(m_attrFlags & SECONDS_FLAG))
365  setSeconds(((RootOperationData*)m_defaults)->attr_seconds);
366  return attr_seconds;
367 }
368 
370 {
371  if(m_attrFlags & FUTURE_SECONDS_FLAG)
372  return attr_future_seconds;
373  else
374  return ((RootOperationData*)m_defaults)->attr_future_seconds;
375 }
376 
378 {
379  if(!(m_attrFlags & FUTURE_SECONDS_FLAG))
381  return attr_future_seconds;
382 }
383 
384 const std::vector<Root>& RootOperationData::getArgs() const
385 {
386  if(m_attrFlags & ARGS_FLAG)
387  return attr_args;
388  else
389  return ((RootOperationData*)m_defaults)->attr_args;
390 }
391 
392 std::vector<Root>& RootOperationData::modifyArgs()
393 {
394  if(!(m_attrFlags & ARGS_FLAG))
395  setArgs(((RootOperationData*)m_defaults)->attr_args);
396  return attr_args;
397 }
398 
399 const Atlas::Message::ListType RootOperationData::getArgsAsList() const
400 {
401  const std::vector<Root>& args_in = getArgs();
402  Atlas::Message::ListType args_out;
403  for(std::vector<Root>::const_iterator I = args_in.begin();
404  I != args_in.end();
405  I++)
406  {
407  args_out.push_back(Atlas::Message::MapType());
408  (*I)->addToMessage(args_out.back().asMap());
409  }
410  return args_out;
411 }
412 
414 {
415  return (m_attrFlags & SERIALNO_FLAG) == 0;
416 }
417 
419 {
420  return (m_attrFlags & REFNO_FLAG) == 0;
421 }
422 
424 {
425  return (m_attrFlags & FROM_FLAG) == 0;
426 }
427 
429 {
430  return (m_attrFlags & TO_FLAG) == 0;
431 }
432 
434 {
435  return (m_attrFlags & SECONDS_FLAG) == 0;
436 }
437 
439 {
440  return (m_attrFlags & FUTURE_SECONDS_FLAG) == 0;
441 }
442 
444 {
445  return (m_attrFlags & ARGS_FLAG) == 0;
446 }
447 
448 
449 } } } // namespace Atlas::Objects::Operation
450 
451 #endif // ATLAS_OBJECTS_OPERATION_ROOTOPERATION_H
long attr_refno
Reference to serial number.
Definition: RootOperation.h:148
double & modifyFutureSeconds()
Retrieve the "future_seconds" attribute as a non-const reference.
Definition: RootOperation.h:377
void setArgs(const std::vector< Root > &val)
Set the "args" attribute.
Definition: RootOperation.h:266
virtual void addToMessage(Atlas::Message::MapType &) const
Write this object to an existing Element.
long getRefno() const
Retrieve the "refno" attribute.
Definition: RootOperation.h:309
void setSeconds(double val)
Set the "seconds" attribute.
Definition: RootOperation.h:250
bool isDefaultFrom() const
Is "from" value default?
Definition: RootOperation.h:423
const std::vector< Root > & getArgs() const
Retrieve the "args" attribute.
Definition: RootOperation.h:384
std::string attr_from
Source of message/operation.
Definition: RootOperation.h:150
std::string & modifyTo()
Retrieve the "to" attribute as a non-const reference.
Definition: RootOperation.h:347
Base operation for all operators.
Definition: RootOperation.h:40
void setArgs1(const SmartPtr< ObjectData > &val)
Set the first member of "args".
Definition: RootOperation.h:287
virtual void free()
Free an instance of this class, returning it to the memory pool.
Atlas stream bridge.
Definition: Bridge.h:35
long & modifyRefno()
Retrieve the "refno" attribute as a non-const reference.
Definition: RootOperation.h:317
std::vector< Root > & modifyArgs()
Retrieve the "args" attribute as a non-const reference.
Definition: RootOperation.h:392
void setTo(const std::string &val)
Set the "to" attribute.
Definition: RootOperation.h:242
virtual RootOperationData * getDefaultObject()
Get the reference object that contains the default values for attributes of instances of the same cla...
double getFutureSeconds() const
Retrieve the "future_seconds" attribute.
Definition: RootOperation.h:369
virtual int getAttrClass(const std::string &name) const
Find the class which contains the attribute "name".
double attr_future_seconds
Time in seconds to add current time.
Definition: RootOperation.h:156
void setFutureSeconds(double val)
Set the "future_seconds" attribute.
Definition: RootOperation.h:258
void sendSeconds(Atlas::Bridge &) const
Send the "seconds" attribute to an Atlas::Bridge.
virtual void sendContents(Atlas::Bridge &b) const
Send the contents of this object to a Bridge.
Multi-type container.
Definition: Element.h:60
std::string & modifyFrom()
Retrieve the "from" attribute as a non-const reference.
Definition: RootOperation.h:332
bool isDefaultRefno() const
Is "refno" value default?
Definition: RootOperation.h:418
void setArgsAsList(const Atlas::Message::ListType &val)
Set the "args" attribute AsList.
Definition: RootOperation.h:272
virtual void iterate(int &current_class, std::string &attr) const
Iterate over the attributes of this instance.
std::vector< Root > attr_args
List of arguments this operation has.
Definition: RootOperation.h:158
void setFrom(const std::string &val)
Set the "from" attribute.
Definition: RootOperation.h:234
double & modifySeconds()
Retrieve the "seconds" attribute as a non-const reference.
Definition: RootOperation.h:362
void setSerialno(long val)
Set the "serialno" attribute.
Definition: RootOperation.h:218
long attr_serialno
Serial number.
Definition: RootOperation.h:146
long & modifySerialno()
Retrieve the "serialno" attribute as a non-const reference.
Definition: RootOperation.h:302
RootOperationData(RootOperationData *defaults=NULL)
Construct a RootOperationData class definition.
Definition: RootOperation.h:44
The Atlas namespace.
Definition: Bridge.h:20
All objects inherit from this.
Definition: Root.h:35
bool isDefaultTo() const
Is "to" value default?
Definition: RootOperation.h:428
void sendTo(Atlas::Bridge &) const
Send the "to" attribute to an Atlas::Bridge.
const Atlas::Message::ListType getArgsAsList() const
Retrieve the "args" attribute AsList.
Definition: RootOperation.h:399
static RootOperationData * getDefaultObjectInstance()
Get the reference object that contains the default values for attributes of instances of this class...
void sendArgs(Atlas::Bridge &) const
Send the "args" attribute to an Atlas::Bridge.
double attr_seconds
Time in seconds.
Definition: RootOperation.h:154
double getSeconds() const
Retrieve the "seconds" attribute.
Definition: RootOperation.h:354
void sendFrom(Atlas::Bridge &) const
Send the "from" attribute to an Atlas::Bridge.
virtual void removeAttr(const std::string &name)
Remove the attribute "name". This will not work for static attributes.
virtual int getAttrFlag(const std::string &name) const
Find the flag for the attribute "name".
virtual int copyAttr(const std::string &name, Atlas::Message::Element &attr) const
Retrieve the attribute "name".
void sendFutureSeconds(Atlas::Bridge &) const
Send the "future_seconds" attribute to an Atlas::Bridge.
bool isDefaultSeconds() const
Is "seconds" value default?
Definition: RootOperation.h:433
const std::string & getFrom() const
Retrieve the "from" attribute.
Definition: RootOperation.h:324
Definition: Decoder.h:15
virtual void setAttr(const std::string &name, const Atlas::Message::Element &attr)
Set the attribute "name" to the value given by"attr".
void sendSerialno(Atlas::Bridge &) const
Send the "serialno" attribute to an Atlas::Bridge.
bool isDefaultFutureSeconds() const
Is "future_seconds" value default?
Definition: RootOperation.h:438
void setRefno(long val)
Set the "refno" attribute.
Definition: RootOperation.h:226
const std::string & getTo() const
Retrieve the "to" attribute.
Definition: RootOperation.h:339
std::string attr_to
Target of message/operation.
Definition: RootOperation.h:152
long getSerialno() const
Retrieve the "serialno" attribute.
Definition: RootOperation.h:294
virtual ~RootOperationData()
Default destructor.
bool isDefaultArgs() const
Is "args" value default?
Definition: RootOperation.h:443
virtual bool instanceOf(int classNo) const
Is this instance of some class?
bool isDefaultSerialno() const
Is "serialno" value default?
Definition: RootOperation.h:413
void sendRefno(Atlas::Bridge &) const
Send the "refno" attribute to an Atlas::Bridge.
virtual RootOperationData * copy() const
Copy this object.

Copyright 2000-2004 the respective authors.

This document can be licensed under the terms of the GNU Free Documentation License or the GNU General Public License and may be freely distributed under the terms given by one of these licenses.