HCE project C++ developers source code library  1.1.1
HCE project developer library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
CustomMessage.hpp
Go to the documentation of this file.
1 
14 #ifndef CUSTOM_MESSAGE_HPP
15 #define CUSTOM_MESSAGE_HPP
16 
17 #include "MessagesCollection.hpp"
18 
19 namespace HCE
20 {
21 //-----------------------------------------------------------------------------
23 {
24 public:
25  struct MsgConst
26  {
27  MsgConst(void) {}
28  MsgConst(char space_, char point_, char delimiter_) : space(space_), point(point_), delimiter(delimiter_) {}
29 
30  char space = ' ';
31  char point = '.';
32  char delimiter = ':';
33  };
34 public:
35  explicit CustomMessage(MessagesCollection& collection);
36  virtual ~CustomMessage(void);
37 
38  void setMsgConst(const MsgConst& msgConst);
39  const MsgConst& getMsgConst(void) const {return msgConst;}
40 
41  std::string operator()(unsigned int type);
42  std::string operator()(unsigned int type, const std::string& arg);
43  std::string operator()(unsigned int type, const char* arg);
44  std::string operator()(unsigned int type, unsigned int arg);
45 private:
46  std::string makeMessage(unsigned int type);
47  std::string makeMessage(unsigned int type, const std::string& arg);
48 
49  MsgConst msgConst;
50  MessagesCollection collection;
51 };
52 //-----------------------------------------------------------------------------
53 //-----------------------------------------------------------------------------
54 } // end namespace HCE
55 
56 #endif // CUSTOM_MESSAGE_HPP