fipa_acl  1.4
parameter.h
Go to the documentation of this file.
1 #ifndef __FIPAACL_MESSAGEPARSER_PARAMETER_H_
2 #define __FIPAACL_MESSAGEPARSER_PARAMETER_H_
3 
4 #include <fipa_acl/message_parser/date_time.h>
5 #include <fipa_acl/message_parser/byte_sequence.h>
6 #include <fipa_acl/message_parser/agent_id.h>
7 
8 namespace fipa {
9 namespace acl {
10 namespace message {
11 
12 typedef boost::variant<std::string, fipa::acl::AgentIdentifier, std::vector<fipa::acl::AgentIdentifier>, fipa::acl::ByteSequence, fipa::acl::DateTime, fipa::acl::ByteString > ParameterValue;
13 
14 class ParameterPrinter : public boost::static_visitor<std::string>
15 {
16  public:
17  std::string operator()(const std::string& s) const
18  {
19  return s;
20  }
21 
22  std::string operator()(const fipa::acl::AgentIdentifier& agentID) const
23  {
24  return "AgentIdentifier";
25  }
26 
27  std::string operator()(const std::vector<fipa::acl::AgentIdentifier>& ids) const
28  {
29 
30  return "AgentIdentifiers";
31  }
32 
33  std::string operator()(const fipa::acl::ByteSequence& seq) const
34  {
35  return "ByteSeq";
36  }
37 
38  std::string operator()(const fipa::acl::DateTime& dt) const
39  {
40  return dt.toString();
41  }
42 
43  std::string operator()(const fipa::acl::ByteString& bs) const
44  {
45  return "ByteString";
46  }
47 
48 };
49 
50 } // end namespace message
51 
52 namespace envelope {
53 
54 typedef std::string ParameterValue;
55 
56 } // end namespace envelope
57 
58 } // end namespace acl
59 } // end namespace fipa
60 #endif
std::string operator()(const fipa::acl::ByteSequence &seq) const
Definition: parameter.h:33
std::string operator()(const std::vector< fipa::acl::AgentIdentifier > &ids) const
Definition: parameter.h:27
std::string toString() const
Definition: date_time.cpp:9
boost::variant< std::string, fipa::acl::AgentIdentifier, std::vector< fipa::acl::AgentIdentifier >, fipa::acl::ByteSequence, fipa::acl::DateTime, fipa::acl::ByteString > ParameterValue
Definition: parameter.h:12
std::string operator()(const fipa::acl::DateTime &dt) const
Definition: parameter.h:38
Representation of a byte sequence. We also embed information about the encoding.
boost::variant< std::string, std::vector< unsigned char > > ByteString
Definition of a ByteString.
Definition: byte_sequence.h:20
std::string operator()(const std::string &s) const
Definition: parameter.h:17
Definition for AgentIdentifier.
Definition: agent_id.h:30
std::string ParameterValue
Definition: parameter.h:54
std::string operator()(const fipa::acl::ByteString &bs) const
Definition: parameter.h:43
std::string operator()(const fipa::acl::AgentIdentifier &agentID) const
Definition: parameter.h:22