Fawkes API  Fawkes Development Version
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
InterfaceField Class Reference

Interface generator internal representation of a field as parsed from

the XML template file. More...

#include <interfaces/generator/field.h>

List of all members.

Public Member Functions

 InterfaceField (std::vector< InterfaceEnumConstant > *enum_constants=NULL)
 Constructor.
void setComment (const std::string &comment)
 Set comment of field.
void setName (const std::string &name)
 Set name of field.
void setType (const std::string &type)
 Set type of field.
bool isEnumType () const
 Check if type is an enum type.
void setLength (const std::string &length)
 Set length of field.
void setFlags (const std::vector< std::string > &flags)
 Set flags.
void setValidFor (const std::string &validfor)
 Set valid for time.
void setDefaultValue (const std::string &default_value)
 Set default value.
void setAttribute (const std::string &attr_name, const std::string &attr_value)
 Set attribute.
void valid ()
 Assert validity.
std::string getName () const
 Get name of field.
std::string getComment () const
 Get comment of field.
std::string getType () const
 Get type of field.
std::string getAccessType () const
 Get type as used for accessor methods of class.
std::string getStructType () const
 Get type used to formulate struct.
std::string getPlainAccessType () const
 Get non-array accessor type.
std::string getLength () const
 Get field length.
unsigned int getLengthValue () const
 Get length value.
std::vector< std::string > getFlags () const
 Get flags.
std::string getValidFor () const
 Get valid for time.
std::string getDefaultValue () const
 Get default value.
bool operator< (const InterfaceField &f) const
 Check order of two elements.

Detailed Description

Interface generator internal representation of a field as parsed from

the XML template file.

Definition at line 31 of file field.h.


Constructor & Destructor Documentation

InterfaceField::InterfaceField ( std::vector< InterfaceEnumConstant > *  enum_constants = NULL)

Constructor.

Parameters:
enum_constantsenumeration constants that are available and which can be used as value type.

Definition at line 40 of file field.cpp.


Member Function Documentation

std::string InterfaceField::getAccessType ( ) const

Get type as used for accessor methods of class.

Returns:
accessor type

Definition at line 83 of file field.cpp.

std::string InterfaceField::getComment ( ) const

Get comment of field.

Returns:
comment of field.

Definition at line 73 of file field.cpp.

std::string InterfaceField::getDefaultValue ( ) const

Get default value.

Returns:
default value

Definition at line 193 of file field.cpp.

std::vector< std::string > InterfaceField::getFlags ( ) const

Get flags.

Returns:
flags.

Definition at line 203 of file field.cpp.

std::string InterfaceField::getLength ( ) const

Get field length.

Returns:
field length

Definition at line 160 of file field.cpp.

unsigned int InterfaceField::getLengthValue ( ) const

Get length value.

This gives the length of the value as a uint instead of a string which is sufficient for the generation of the interface but may not be sufficient for more elaborated usage.

Returns:
length of the value

Definition at line 173 of file field.cpp.

std::string InterfaceField::getName ( void  ) const

Get name of field.

Returns:
name of field.

Definition at line 53 of file field.cpp.

Referenced by InterfaceParser::getFields().

std::string InterfaceField::getPlainAccessType ( ) const

Get non-array accessor type.

Returns:
accessor type

Definition at line 113 of file field.cpp.

std::string InterfaceField::getStructType ( ) const

Get type used to formulate struct.

Returns:
struct type

Definition at line 131 of file field.cpp.

std::string InterfaceField::getType ( ) const

Get type of field.

Returns:
type of field.

Definition at line 63 of file field.cpp.

std::string InterfaceField::getValidFor ( ) const

Get valid for time.

Returns:
valid for time

Definition at line 183 of file field.cpp.

bool InterfaceField::isEnumType ( ) const

Check if type is an enum type.

Returns:
true if the type of this field is an enum type, false otherwise

Definition at line 151 of file field.cpp.

bool InterfaceField::operator< ( const InterfaceField f) const

Check order of two elements.

The overall order is like the following:

  1. unsigned int
  2. int
  3. unsigned long int
  4. long int
  5. float
  6. double
  7. bool
  8. byte
  9. char *
    Parameters:
    ffield to compare to
    Returns:
    true, if current instance is small than f, false otherwise

Definition at line 394 of file field.cpp.

void InterfaceField::setAttribute ( const std::string &  attr_name,
const std::string &  attr_value 
)

Set attribute.

Parameters:
attr_nameattribute name
attr_valueattribute value.

Definition at line 320 of file field.cpp.

References setDefaultValue(), setLength(), setName(), setType(), and setValidFor().

Referenced by InterfaceParser::getFields().

void InterfaceField::setComment ( const std::string &  comment)

Set comment of field.

Parameters:
commentnew comment of field.

Definition at line 242 of file field.cpp.

Referenced by InterfaceParser::getFields().

void InterfaceField::setDefaultValue ( const std::string &  default_value)

Set default value.

Parameters:
default_valuenew default value

Definition at line 273 of file field.cpp.

Referenced by setAttribute().

void InterfaceField::setFlags ( const std::vector< std::string > &  flags)

Set flags.

Parameters:
flagsnew flags of field

Definition at line 283 of file field.cpp.

void InterfaceField::setLength ( const std::string &  length)

Set length of field.

Parameters:
lengthset length of field.

Definition at line 252 of file field.cpp.

Referenced by setAttribute().

void InterfaceField::setName ( const std::string &  name)

Set name of field.

Parameters:
namenew name of field.

Definition at line 232 of file field.cpp.

Referenced by setAttribute().

void InterfaceField::setType ( const std::string &  type)

Set type of field.

Parameters:
typenew type of field.

Definition at line 213 of file field.cpp.

Referenced by setAttribute().

void InterfaceField::setValidFor ( const std::string &  validfor)

Set valid for time.

Parameters:
validfornew valid for time

Definition at line 263 of file field.cpp.

Referenced by setAttribute().

void InterfaceField::valid ( )

Assert validity.

Calling valid() acts like an assertion. An Exception is thrown if something is wrong.

Exceptions:
InterfaceGeneratorInvalidTypeExceptionthrown if InterfaceDataTypeChecker reports invalid type.
InterfaceGeneratorInvalidValueExceptionthrown if any supplied value is illegal.
InterfaceGeneratorInvalidFlagExceptionthrown if invalid flag has been supplied.

Definition at line 348 of file field.cpp.

References InterfaceDataTypeChecker::validType(), and InterfaceDataTypeChecker::validValue().

Referenced by InterfaceParser::getFields().


The documentation for this class was generated from the following files: