fipa_acl  1.4
Static Public Member Functions | List of all members
fipa::acl::StringFormat Class Reference

#include <string_format.h>

Static Public Member Functions

static std::string getAgentIdentifier (const AgentID &agentID)
 
static std::string getAgentIdentifierSequence (const AgentIDList &agentList)
 
static std::string getAgentIdentifierSet (const AgentIDList &agentList)
 
static std::string getAgentIdentifierList (const AgentIDList &agentList)
 
static std::string getString (const std::string &txt)
 
static std::string getExpression (const std::string &txt)
 
static std::string getWord (const std::string &txt)
 
static std::string getUrlSequence (const Addresses &addresses)
 
static std::string getUserdefinedParameter (const std::string &param)
 
static std::string getUrl (const std::string &url)
 

Detailed Description

Definition at line 8 of file string_format.h.

Member Function Documentation

std::string fipa::acl::StringFormat::getAgentIdentifier ( const AgentID agentID)
static

Definition at line 7 of file string_format.cpp.

8 {
9  std::string agentTxt = "(agent-identifier";
10  agentTxt += ":name" + getWord(agent.getName());
11  if(!agent.getAddresses().empty())
12  {
13  agentTxt += ":addresses" + getUrlSequence(agent.getAddresses());
14  }
15  if(!agent.getResolvers().empty())
16  {
17  agentTxt += ":resolvers" + getAgentIdentifierSequence(agent.getResolvers());
18  }
19 
20  std::vector<UserdefParam>::const_iterator cit = agent.getUserdefParams().begin();
21  for(; cit != agent.getUserdefParams().end(); ++cit)
22  {
23  agentTxt += getUserdefinedParameter(cit->getName());
24  agentTxt += getExpression(cit->getValue());
25  }
26  agentTxt += ")";
27 
28  return agentTxt;
29 }
static std::string getAgentIdentifierSequence(const AgentIDList &agentList)
static std::string getUrlSequence(const Addresses &addresses)
static std::string getExpression(const std::string &txt)
Definition: string_format.h:37
static std::string getUserdefinedParameter(const std::string &param)
Definition: string_format.h:43
static std::string getWord(const std::string &txt)
Definition: string_format.h:39
std::string fipa::acl::StringFormat::getAgentIdentifierList ( const AgentIDList agentList)
static

Get encoded agent identifier list

Definition at line 47 of file string_format.cpp.

48 {
49  std::string list = "";
50  AgentIDList::const_iterator cit = agentList.begin();
51  for(; cit != agentList.end(); ++cit)
52  {
53  list += getAgentIdentifier(*cit);
54  }
55  return list;
56 }
static std::string getAgentIdentifier(const AgentID &agentID)
std::string fipa::acl::StringFormat::getAgentIdentifierSequence ( const AgentIDList agentList)
static

Get encoded agent identifier list (with sequence label)

Definition at line 31 of file string_format.cpp.

32 {
33  std::string list = "(sequence";
34  list += getAgentIdentifierList(agentList);
35  list += ")";
36  return list;
37 }
static std::string getAgentIdentifierList(const AgentIDList &agentList)
std::string fipa::acl::StringFormat::getAgentIdentifierSet ( const AgentIDList agentList)
static

Get encoded agent identifier list (with set label)

Definition at line 39 of file string_format.cpp.

40 {
41  std::string list = "(set";
42  list += getAgentIdentifierList(agentList);
43  list += ")";
44  return list;
45 }
static std::string getAgentIdentifierList(const AgentIDList &agentList)
static std::string fipa::acl::StringFormat::getExpression ( const std::string &  txt)
inlinestatic

Get Expression Expression is encoded as a byte-length encoded string.

Definition at line 37 of file string_format.h.

37 { return getString(txt); }
static std::string getString(const std::string &txt)
std::string fipa::acl::StringFormat::getString ( const std::string &  txt)
static

Byte-length encoded string format.

Definition at line 71 of file string_format.cpp.

72 {
73  size_t size = txt.size();
74  std::stringstream ss;
75  ss << "#" << size << "\"" << txt;
76 
77  return ss.str();
78 }
static std::string fipa::acl::StringFormat::getUrl ( const std::string &  url)
inlinestatic

Definition at line 45 of file string_format.h.

45 { return url; }
std::string fipa::acl::StringFormat::getUrlSequence ( const Addresses addresses)
static

Definition at line 58 of file string_format.cpp.

59 {
60  std::string sequence = "(sequence";
61  Addresses::const_iterator cit = addresses.begin();
62  for(; cit != addresses.end(); ++cit)
63  {
64  // For ease of parsing, separate URLs with a space
65  sequence += getUrl(*cit) + " ";
66  }
67  sequence += ")";
68  return sequence;
69 }
static std::string getUrl(const std::string &url)
Definition: string_format.h:45
static std::string fipa::acl::StringFormat::getUserdefinedParameter ( const std::string &  param)
inlinestatic

Definition at line 43 of file string_format.h.

43 { return param; }
static std::string fipa::acl::StringFormat::getWord ( const std::string &  txt)
inlinestatic

Definition at line 39 of file string_format.h.

39 { return txt; }

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