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
Atlas::Objects::Operation::RootOperationData::sendFrom
void sendFrom(Atlas::Bridge &) const
Send the "from" attribute to an Atlas::Bridge.
Atlas::Objects::Operation::RootOperationData::setAttr
virtual void setAttr(const std::string &name, const Atlas::Message::Element &attr)
Set the attribute "name" to the value given by"attr".
Atlas::Objects::Operation::RootOperationData::setSerialno
void setSerialno(long val)
Set the "serialno" attribute.
Definition: RootOperation.h:218
Atlas::Objects::Operation::RootOperationData::getSeconds
double getSeconds() const
Retrieve the "seconds" attribute.
Definition: RootOperation.h:354
Atlas::Objects::Operation::RootOperationData::setFrom
void setFrom(const std::string &val)
Set the "from" attribute.
Definition: RootOperation.h:234
Atlas::Objects::Operation::RootOperationData::setRefno
void setRefno(long val)
Set the "refno" attribute.
Definition: RootOperation.h:226
Atlas::Objects::RootData
All objects inherit from this.
Definition: Root.h:35
Atlas::Objects::Operation::RootOperationData::sendTo
void sendTo(Atlas::Bridge &) const
Send the "to" attribute to an Atlas::Bridge.
Atlas::Objects::Operation::RootOperationData::instanceOf
virtual bool instanceOf(int classNo) const
Is this instance of some class?
Atlas::Bridge
Atlas stream bridge.
Definition: Bridge.h:35
Atlas::Objects::Operation::RootOperationData::isDefaultFutureSeconds
bool isDefaultFutureSeconds() const
Is "future_seconds" value default?
Definition: RootOperation.h:438
Atlas::Objects::Operation::RootOperationData::sendSerialno
void sendSerialno(Atlas::Bridge &) const
Send the "serialno" attribute to an Atlas::Bridge.
Atlas::Objects::Operation::RootOperationData::getSerialno
long getSerialno() const
Retrieve the "serialno" attribute.
Definition: RootOperation.h:294
Atlas::Objects::Operation::RootOperationData::setSeconds
void setSeconds(double val)
Set the "seconds" attribute.
Definition: RootOperation.h:250
Atlas::Objects::Operation::RootOperationData::removeAttr
virtual void removeAttr(const std::string &name)
Remove the attribute "name". This will not work for static attributes.
Atlas::Objects::Operation::RootOperationData::getDefaultObjectInstance
static RootOperationData * getDefaultObjectInstance()
Get the reference object that contains the default values for attributes of instances of this class.
Atlas::Objects::Operation::RootOperationData::getTo
const std::string & getTo() const
Retrieve the "to" attribute.
Definition: RootOperation.h:339
Atlas::Objects::Operation::RootOperationData::attr_serialno
long attr_serialno
Serial number.
Definition: RootOperation.h:146
Atlas::Objects::Operation::RootOperationData::getDefaultObject
virtual RootOperationData * getDefaultObject()
Get the reference object that contains the default values for attributes of instances of the same cla...
Atlas::Objects::Operation::RootOperationData::setArgs1
void setArgs1(const SmartPtr< ObjectData > &val)
Set the first member of "args".
Definition: RootOperation.h:287
Atlas::Objects::Operation::RootOperationData::setArgs
void setArgs(const std::vector< Root > &val)
Set the "args" attribute.
Definition: RootOperation.h:266
Atlas::Objects::Operation::RootOperationData::getFutureSeconds
double getFutureSeconds() const
Retrieve the "future_seconds" attribute.
Definition: RootOperation.h:369
Atlas::Objects::SmartPtr
Definition: Decoder.h:15
Atlas::Objects::Operation::RootOperationData::attr_args
std::vector< Root > attr_args
List of arguments this operation has.
Definition: RootOperation.h:158
Atlas::Objects::Operation::RootOperationData::getAttrFlag
virtual int getAttrFlag(const std::string &name) const
Find the flag for the attribute "name".
Atlas::Objects::Operation::RootOperationData::modifyFrom
std::string & modifyFrom()
Retrieve the "from" attribute as a non-const reference.
Definition: RootOperation.h:332
Atlas::Objects::Operation::RootOperationData::getAttrClass
virtual int getAttrClass(const std::string &name) const
Find the class which contains the attribute "name".
Atlas::Objects::Operation::RootOperationData::sendArgs
void sendArgs(Atlas::Bridge &) const
Send the "args" attribute to an Atlas::Bridge.
Atlas::Objects::Operation::RootOperationData::getArgsAsList
const Atlas::Message::ListType getArgsAsList() const
Retrieve the "args" attribute AsList.
Definition: RootOperation.h:399
Atlas::Objects::Operation::RootOperationData::RootOperationData
RootOperationData(RootOperationData *defaults=NULL)
Construct a RootOperationData class definition.
Definition: RootOperation.h:44
Atlas::Objects::Operation::RootOperationData::attr_refno
long attr_refno
Reference to serial number.
Definition: RootOperation.h:148
Atlas::Objects::Operation::RootOperationData::isDefaultRefno
bool isDefaultRefno() const
Is "refno" value default?
Definition: RootOperation.h:418
Atlas::Objects::Operation::RootOperationData::attr_to
std::string attr_to
Target of message/operation.
Definition: RootOperation.h:152
Atlas::Objects::Operation::RootOperationData::~RootOperationData
virtual ~RootOperationData()
Default destructor.
Atlas::Message::Element
Multi-type container.
Definition: Element.h:60
Atlas::Objects::Operation::RootOperationData::isDefaultTo
bool isDefaultTo() const
Is "to" value default?
Definition: RootOperation.h:428
Atlas::Objects::Operation::RootOperationData::attr_seconds
double attr_seconds
Time in seconds.
Definition: RootOperation.h:154
Atlas::Objects::Operation::RootOperationData::copy
virtual RootOperationData * copy() const
Copy this object.
Atlas::Objects::Operation::RootOperationData::setArgsAsList
void setArgsAsList(const Atlas::Message::ListType &val)
Set the "args" attribute AsList.
Definition: RootOperation.h:272
Atlas::Objects::Operation::RootOperationData::attr_from
std::string attr_from
Source of message/operation.
Definition: RootOperation.h:150
Atlas::Objects::Operation::RootOperationData::sendRefno
void sendRefno(Atlas::Bridge &) const
Send the "refno" attribute to an Atlas::Bridge.
Atlas::Objects::Operation::RootOperationData::getRefno
long getRefno() const
Retrieve the "refno" attribute.
Definition: RootOperation.h:309
Atlas::Objects::Operation::RootOperationData::addToMessage
virtual void addToMessage(Atlas::Message::MapType &) const
Write this object to an existing Element.
Atlas::Objects::Operation::RootOperationData::modifySeconds
double & modifySeconds()
Retrieve the "seconds" attribute as a non-const reference.
Definition: RootOperation.h:362
Atlas::Objects::Operation::RootOperationData::modifyTo
std::string & modifyTo()
Retrieve the "to" attribute as a non-const reference.
Definition: RootOperation.h:347
Atlas::Objects::Operation::RootOperationData::getArgs
const std::vector< Root > & getArgs() const
Retrieve the "args" attribute.
Definition: RootOperation.h:384
Atlas::Objects::Operation::RootOperationData::modifyRefno
long & modifyRefno()
Retrieve the "refno" attribute as a non-const reference.
Definition: RootOperation.h:317
Atlas::Objects::Operation::RootOperationData
Base operation for all operators.
Definition: RootOperation.h:40
Atlas::Objects::Operation::RootOperationData::sendFutureSeconds
void sendFutureSeconds(Atlas::Bridge &) const
Send the "future_seconds" attribute to an Atlas::Bridge.
Atlas::Objects::Operation::RootOperationData::isDefaultFrom
bool isDefaultFrom() const
Is "from" value default?
Definition: RootOperation.h:423
Atlas::Objects::Operation::RootOperationData::modifySerialno
long & modifySerialno()
Retrieve the "serialno" attribute as a non-const reference.
Definition: RootOperation.h:302
Atlas::Objects::Operation::RootOperationData::modifyFutureSeconds
double & modifyFutureSeconds()
Retrieve the "future_seconds" attribute as a non-const reference.
Definition: RootOperation.h:377
Atlas::Objects::Operation::RootOperationData::attr_future_seconds
double attr_future_seconds
Time in seconds to add current time.
Definition: RootOperation.h:156
Atlas::Objects::Operation::RootOperationData::isDefaultArgs
bool isDefaultArgs() const
Is "args" value default?
Definition: RootOperation.h:443
Atlas::Objects::Operation::RootOperationData::sendContents
virtual void sendContents(Atlas::Bridge &b) const
Send the contents of this object to a Bridge.
Atlas::Objects::Operation::RootOperationData::iterate
virtual void iterate(int &current_class, std::string &attr) const
Iterate over the attributes of this instance.
Atlas
The Atlas namespace.
Definition: Bridge.h:20
Atlas::Objects::Operation::RootOperationData::modifyArgs
std::vector< Root > & modifyArgs()
Retrieve the "args" attribute as a non-const reference.
Definition: RootOperation.h:392
Atlas::Objects::Operation::RootOperationData::isDefaultSerialno
bool isDefaultSerialno() const
Is "serialno" value default?
Definition: RootOperation.h:413
Atlas::Objects::Operation::RootOperationData::setFutureSeconds
void setFutureSeconds(double val)
Set the "future_seconds" attribute.
Definition: RootOperation.h:258
Atlas::Objects::Operation::RootOperationData::free
virtual void free()
Free an instance of this class, returning it to the memory pool.
Atlas::Objects::Operation::RootOperationData::copyAttr
virtual int copyAttr(const std::string &name, Atlas::Message::Element &attr) const
Retrieve the attribute "name".
Atlas::Objects::Operation::RootOperationData::isDefaultSeconds
bool isDefaultSeconds() const
Is "seconds" value default?
Definition: RootOperation.h:433
Atlas::Objects::Operation::RootOperationData::setTo
void setTo(const std::string &val)
Set the "to" attribute.
Definition: RootOperation.h:242
Atlas::Objects::Operation::RootOperationData::sendSeconds
void sendSeconds(Atlas::Bridge &) const
Send the "seconds" attribute to an Atlas::Bridge.
Atlas::Objects::Operation::RootOperationData::getFrom
const std::string & getFrom() const
Retrieve the "from" attribute.
Definition: RootOperation.h:324

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.