Fawkes API  Fawkes Development Version
TestInterface.h
1 
2 /***************************************************************************
3  * TestInterface.h - Fawkes BlackBoard Interface - TestInterface
4  *
5  * Templated created: Thu Oct 12 10:49:19 2006
6  * Copyright 2006-2007 Tim Niemueller
7  *
8  ****************************************************************************/
9 
10 /* This program is free software; you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation; either version 2 of the License, or
13  * (at your option) any later version. A runtime exception applies to
14  * this software (see LICENSE.GPL_WRE file mentioned below for details).
15  *
16  * This program is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19  * GNU Library General Public License for more details.
20  *
21  * Read the full text in the LICENSE.GPL_WRE file in the doc directory.
22  */
23 
24 #ifndef _INTERFACES_TESTINTERFACE_H_
25 #define _INTERFACES_TESTINTERFACE_H_
26 
27 #include <interface/interface.h>
28 #include <interface/message.h>
29 #include <interface/field_iterator.h>
30 
31 namespace fawkes {
32 
33 class TestInterface : public Interface
34 {
35  /// @cond INTERNALS
36  INTERFACE_MGMT_FRIENDS(TestInterface)
37  /// @endcond
38  public:
39  /* constants */
40  static const int32_t TEST_CONSTANT;
41  static const float TEST_FLOAT_CONSTANT;
42 
43  /** Demonstrating enums */
44  typedef enum {
45  TEST_ENUM_1 /**< Item 1 */,
46  TEST_ENUM_2 /**< Item 2 */
47  } TestEnum;
48  const char * tostring_TestEnum(TestEnum value) const;
49 
50  private:
51  /** Internal data storage, do NOT modify! */
52  typedef struct {
53  int64_t timestamp_sec; /**< Interface Unix timestamp, seconds */
54  int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
55  bool test_bool; /**< Test Bool */
56  int32_t test_int; /**< Test integer */
57  uint8_t flags; /**< Flags spit down by the writer */
58  char test_string[30]; /**< A test sring */
59  int32_t result; /**< Result of operation add operation from Calculate message. */
60  uint32_t test_uint; /**< Test uint32 */
61  } TestInterface_data_t;
62 
63  TestInterface_data_t *data;
64 
65  interface_enum_map_t enum_map_TestEnum;
66  public:
67  /* messages */
68  class SetTestIntMessage : public Message
69  {
70  private:
71  /** Internal data storage, do NOT modify! */
72  typedef struct {
73  int64_t timestamp_sec; /**< Interface Unix timestamp, seconds */
74  int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
75  int32_t test_int; /**< Test integer */
76  } SetTestIntMessage_data_t;
77 
78  SetTestIntMessage_data_t *data;
79 
80  interface_enum_map_t enum_map_TestEnum;
81  public:
82  SetTestIntMessage(const int32_t ini_test_int);
85 
86  explicit SetTestIntMessage(const SetTestIntMessage *m);
87  /* Methods */
88  int32_t test_int() const;
89  void set_test_int(const int32_t new_test_int);
90  size_t maxlenof_test_int() const;
91  virtual Message * clone() const;
92  };
93 
94  class SetTestStringMessage : public Message
95  {
96  private:
97  /** Internal data storage, do NOT modify! */
98  typedef struct {
99  int64_t timestamp_sec; /**< Interface Unix timestamp, seconds */
100  int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
101  char test_string[30]; /**< A test sring */
102  } SetTestStringMessage_data_t;
103 
104  SetTestStringMessage_data_t *data;
105 
106  interface_enum_map_t enum_map_TestEnum;
107  public:
108  SetTestStringMessage(const char * ini_test_string);
111 
112  explicit SetTestStringMessage(const SetTestStringMessage *m);
113  /* Methods */
114  char * test_string() const;
115  void set_test_string(const char * new_test_string);
116  size_t maxlenof_test_string() const;
117  virtual Message * clone() const;
118  };
119 
120  class CalculateMessage : public Message
121  {
122  private:
123  /** Internal data storage, do NOT modify! */
124  typedef struct {
125  int64_t timestamp_sec; /**< Interface Unix timestamp, seconds */
126  int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
127  int32_t summand; /**< Summand */
128  int32_t addend; /**< Addend */
129  } CalculateMessage_data_t;
130 
131  CalculateMessage_data_t *data;
132 
133  interface_enum_map_t enum_map_TestEnum;
134  public:
135  CalculateMessage(const int32_t ini_summand, const int32_t ini_addend);
138 
139  explicit CalculateMessage(const CalculateMessage *m);
140  /* Methods */
141  int32_t summand() const;
142  void set_summand(const int32_t new_summand);
143  size_t maxlenof_summand() const;
144  int32_t addend() const;
145  void set_addend(const int32_t new_addend);
146  size_t maxlenof_addend() const;
147  virtual Message * clone() const;
148  };
149 
150  virtual bool message_valid(const Message *message) const;
151  private:
152  TestInterface();
153  ~TestInterface();
154 
155  public:
156  /* Methods */
157  bool is_test_bool() const;
158  void set_test_bool(const bool new_test_bool);
159  size_t maxlenof_test_bool() const;
160  int32_t test_int() const;
161  void set_test_int(const int32_t new_test_int);
162  size_t maxlenof_test_int() const;
163  uint8_t flags() const;
164  void set_flags(const uint8_t new_flags);
165  size_t maxlenof_flags() const;
166  char * test_string() const;
167  void set_test_string(const char * new_test_string);
168  size_t maxlenof_test_string() const;
169  int32_t result() const;
170  void set_result(const int32_t new_result);
171  size_t maxlenof_result() const;
172  uint32_t test_uint() const;
173  void set_test_uint(const uint32_t new_test_uint);
174  size_t maxlenof_test_uint() const;
175  virtual Message * create_message(const char *type) const;
176 
177  virtual void copy_values(const Interface *other);
178  virtual const char * enum_tostring(const char *enumtype, int val) const;
179 
180 };
181 
182 } // end namespace fawkes
183 
184 #endif
fawkes::TestInterface::TEST_ENUM_1
@ TEST_ENUM_1
Item 1.
Definition: TestInterface.h:57
fawkes::TestInterface::tostring_TestEnum
const char * tostring_TestEnum(TestEnum value) const
Convert TestEnum constant to string.
Definition: TestInterface.cpp:87
fawkes::TestInterface::create_message
virtual Message * create_message(const char *type) const
Definition: TestInterface.cpp:285
fawkes::TestInterface::copy_values
virtual void copy_values(const Interface *other)
Copy values from other interface.
Definition: TestInterface.cpp:304
fawkes::TestInterface::SetTestStringMessage::maxlenof_test_string
size_t maxlenof_test_string() const
Get maximum length of test_string value.
Definition: TestInterface.cpp:488
fawkes::TestInterface::set_result
void set_result(const int32_t new_result)
Set result value.
Definition: TestInterface.cpp:246
fawkes::TestInterface::SetTestIntMessage::~SetTestIntMessage
~SetTestIntMessage()
Destructor.
Definition: TestInterface.cpp:360
fawkes::Message
Definition: message.h:41
fawkes::TestInterface::SetTestIntMessage::SetTestIntMessage
SetTestIntMessage()
Constructor.
Definition: TestInterface.cpp:347
fawkes::TestInterface::CalculateMessage::addend
int32_t addend() const
Get addend value.
Definition: TestInterface.cpp:607
fawkes::TestInterface::SetTestStringMessage::~SetTestStringMessage
~SetTestStringMessage()
Destructor.
Definition: TestInterface.cpp:455
fawkes::TestInterface::CalculateMessage::CalculateMessage
CalculateMessage()
Constructor.
Definition: TestInterface.cpp:540
fawkes::TestInterface::SetTestStringMessage::set_test_string
void set_test_string(const char *new_test_string)
Set test_string value.
Definition: TestInterface.cpp:498
fawkes::TestInterface::set_test_int
void set_test_int(const int32_t new_test_int)
Set test_int value.
Definition: TestInterface.cpp:152
fawkes::TestInterface::TestEnum
TestEnum
Demonstrating enums.
Definition: TestInterface.h:56
fawkes::Interface::type
const char * type() const
Get type of interface.
Definition: interface.cpp:645
fawkes::TestInterface::CalculateMessage::~CalculateMessage
~CalculateMessage()
Destructor.
Definition: TestInterface.cpp:554
fawkes::TestInterface::SetTestIntMessage::test_int
int32_t test_int() const
Get test_int value.
Definition: TestInterface.cpp:383
fawkes::TestInterface::result
int32_t result() const
Get result value.
Definition: TestInterface.cpp:226
fawkes::TestInterface::maxlenof_result
size_t maxlenof_result() const
Get maximum length of result value.
Definition: TestInterface.cpp:236
fawkes::TestInterface::maxlenof_flags
size_t maxlenof_flags() const
Get maximum length of flags value.
Definition: TestInterface.cpp:173
fawkes::TestInterface::maxlenof_test_int
size_t maxlenof_test_int() const
Get maximum length of test_int value.
Definition: TestInterface.cpp:142
fawkes::TestInterface::CalculateMessage::set_summand
void set_summand(const int32_t new_summand)
Set summand value.
Definition: TestInterface.cpp:597
fawkes::TestInterface::SetTestIntMessage
Definition: TestInterface.h:80
fawkes::TestInterface::CalculateMessage
Definition: TestInterface.h:132
fawkes::TestInterface::SetTestStringMessage::test_string
char * test_string() const
Get test_string value.
Definition: TestInterface.cpp:478
fawkes::TestInterface::is_test_bool
bool is_test_bool() const
Get test_bool value.
Definition: TestInterface.cpp:101
fawkes::TestInterface::test_int
int32_t test_int() const
Get test_int value.
Definition: TestInterface.cpp:132
fawkes::TestInterface::SetTestIntMessage::maxlenof_test_int
size_t maxlenof_test_int() const
Get maximum length of test_int value.
Definition: TestInterface.cpp:393
fawkes
fawkes::TestInterface::enum_tostring
virtual const char * enum_tostring(const char *enumtype, int val) const
Definition: TestInterface.cpp:315
fawkes::TestInterface::TEST_FLOAT_CONSTANT
static const float TEST_FLOAT_CONSTANT
TEST_FLOAT_CONSTANT constant.
Definition: TestInterface.h:53
fawkes::Interface
Definition: interface.h:78
fawkes::TestInterface::SetTestIntMessage::clone
virtual Message * clone() const
Clone this message.
Definition: TestInterface.cpp:414
fawkes::TestInterface::SetTestStringMessage::SetTestStringMessage
SetTestStringMessage()
Constructor.
Definition: TestInterface.cpp:442
fawkes::interface_enum_map_t
std::map< int, std::string > interface_enum_map_t
Map of enum integer to string values.
Definition: types.h:61
fawkes::TestInterface::CalculateMessage::set_addend
void set_addend(const int32_t new_addend)
Set addend value.
Definition: TestInterface.cpp:627
fawkes::TestInterface::CalculateMessage::maxlenof_addend
size_t maxlenof_addend() const
Get maximum length of addend value.
Definition: TestInterface.cpp:617
fawkes::TestInterface::maxlenof_test_uint
size_t maxlenof_test_uint() const
Get maximum length of test_uint value.
Definition: TestInterface.cpp:267
fawkes::TestInterface::TEST_CONSTANT
static const int32_t TEST_CONSTANT
TEST_CONSTANT constant.
Definition: TestInterface.h:52
fawkes::TestInterface::test_uint
uint32_t test_uint() const
Get test_uint value.
Definition: TestInterface.cpp:257
fawkes::TestInterface::SetTestStringMessage::clone
virtual Message * clone() const
Clone this message.
Definition: TestInterface.cpp:510
fawkes::TestInterface::CalculateMessage::maxlenof_summand
size_t maxlenof_summand() const
Get maximum length of summand value.
Definition: TestInterface.cpp:587
fawkes::TestInterface::set_flags
void set_flags(const uint8_t new_flags)
Set flags value.
Definition: TestInterface.cpp:183
fawkes::TestInterface::flags
uint8_t flags() const
Get flags value.
Definition: TestInterface.cpp:163
fawkes::TestInterface::CalculateMessage::clone
virtual Message * clone() const
Clone this message.
Definition: TestInterface.cpp:638
fawkes::TestInterface::set_test_uint
void set_test_uint(const uint32_t new_test_uint)
Set test_uint value.
Definition: TestInterface.cpp:277
fawkes::TestInterface::maxlenof_test_string
size_t maxlenof_test_string() const
Get maximum length of test_string value.
Definition: TestInterface.cpp:204
fawkes::TestInterface::test_string
char * test_string() const
Get test_string value.
Definition: TestInterface.cpp:194
fawkes::TestInterface::CalculateMessage::summand
int32_t summand() const
Get summand value.
Definition: TestInterface.cpp:577
fawkes::TestInterface::maxlenof_test_bool
size_t maxlenof_test_bool() const
Get maximum length of test_bool value.
Definition: TestInterface.cpp:111
fawkes::TestInterface::set_test_string
void set_test_string(const char *new_test_string)
Set test_string value.
Definition: TestInterface.cpp:214
fawkes::TestInterface::set_test_bool
void set_test_bool(const bool new_test_bool)
Set test_bool value.
Definition: TestInterface.cpp:121
fawkes::TestInterface::TEST_ENUM_2
@ TEST_ENUM_2
Item 2.
Definition: TestInterface.h:58
fawkes::TestInterface
Definition: TestInterface.h:39
fawkes::TestInterface::SetTestIntMessage::set_test_int
void set_test_int(const int32_t new_test_int)
Set test_int value.
Definition: TestInterface.cpp:403
fawkes::TestInterface::SetTestStringMessage
Definition: TestInterface.h:106
fawkes::TestInterface::message_valid
virtual bool message_valid(const Message *message) const
Check if message is valid and can be enqueued.
Definition: TestInterface.cpp:647