ARC SDK
EndpointQueryingStatus.h
1 #ifndef __ARC_ENDPOINTQUERYINGSTATUS_H__
2 #define __ARC_ENDPOINTQUERYINGSTATUS_H__
3 
4 #include <string>
5 
6 namespace Arc {
7 
9 
20 public:
30  };
31 
33  static std::string str(EndpointQueryingStatusType status);
34 
36  EndpointQueryingStatus(EndpointQueryingStatusType status = UNKNOWN, const std::string& description = "") : status(status), description(description) {};
37 
39  bool operator==(EndpointQueryingStatusType s) const { return status == s; };
43  bool operator==(const EndpointQueryingStatus& s) const { return status == s.status; };
45  bool operator!=(EndpointQueryingStatusType s) const { return status != s; };
47  bool operator!=(const EndpointQueryingStatus& s) const { return status != s.status; };
49  bool operator!() const { return status != SUCCESSFUL; };
51  operator bool() const { return status == SUCCESSFUL; };
52 
56  EndpointQueryingStatus& operator=(EndpointQueryingStatusType s) { status = s; return *this; };
60  EndpointQueryingStatus& operator=(const EndpointQueryingStatus& s) { status = s.status; description = s.description; return *this; };
61 
63  EndpointQueryingStatusType getStatus() const { return status; };
65  const std::string& getDescription() const { return description; };
69  std::string str() const { return str(status); };
70 
72 
73 private:
75  std::string description;
76 };
77 
78 inline bool operator==(EndpointQueryingStatus::EndpointQueryingStatusType eqst, const EndpointQueryingStatus& eqs) { return eqs == eqst; }
79 
80 } // namespace Arc
81 
82 #endif // __ARC_ENDPOINTQUERYINGSTATUS_H__