replace : iotivity -> iotivity-sec
[platform/upstream/iotivity.git] / resource / include / ResourceInitException.h
index b15134a..6767a44 100644 (file)
@@ -31,52 +31,24 @@ namespace OC
     public:
         ResourceInitException(
                 bool missingUri,
+                bool invalidUri,
                 bool missingType,
                 bool missingInterface,
                 bool missingClientWrapper,
                 bool invalidPort,
-                bool invalidIp)
-        : m_whatMessage(),
-          m_missingUri(missingUri),
+                bool invalidIp,
+                bool invalidHost)
+        : m_missingUri(missingUri),
+          m_invalidUri(invalidUri),
           m_missingType(missingType),
           m_missingInterface(missingInterface),
           m_missingClientWrapper(missingClientWrapper),
           m_invalidPort(invalidPort),
-          m_invalidIp(invalidIp)
+          m_invalidIp(invalidIp),
+          m_invalidHost(invalidHost)
         {
-            if(isUriMissing())
-            {
-                m_whatMessage += OC::InitException::MISSING_URI;
-            }
-
-            if(isTypeMissing())
-            {
-                m_whatMessage += OC::InitException::MISSING_TYPE;
-            }
-
-            if(isInterfaceMissing())
-            {
-                m_whatMessage += OC::InitException::MISSING_INTERFACE;
-            }
-
-            if(isClientWrapperMissing())
-            {
-                m_whatMessage += OC::InitException::MISSING_CLIENT_WRAPPER;
-            }
-
-            if(isInvalidPort())
-            {
-                m_whatMessage += OC::InitException::INVALID_PORT;
-            }
-
-            if(isInvalidIp())
-            {
-                m_whatMessage += OC::InitException::INVALID_IP;
-            }
         }
 
-        virtual ~ResourceInitException() throw() {}
-
         bool isInvalidPort() const
         {
             return m_invalidPort;
@@ -87,6 +59,11 @@ namespace OC
             return m_invalidIp;
         }
 
+        bool isInvalidHost() const
+        {
+            return m_invalidHost;
+        }
+
         bool isClientWrapperMissing() const
         {
             return m_missingClientWrapper;
@@ -97,6 +74,11 @@ namespace OC
             return m_missingUri;
         }
 
+        bool isInvalidUri() const
+        {
+            return m_invalidUri;
+        }
+
         bool isTypeMissing() const
         {
             return m_missingType;
@@ -109,17 +91,60 @@ namespace OC
 
         virtual const char* what() const BOOST_NOEXCEPT
         {
-            return m_whatMessage.c_str();
+            std::string ret;
+
+            if(isUriMissing())
+            {
+                ret += OC::InitException::MISSING_URI;
+            }
+            else if(isInvalidUri())
+            {
+                ret += OC::InitException::INVALID_URI;
+            }
+
+            if(isTypeMissing())
+            {
+                ret += OC::InitException::MISSING_TYPE;
+            }
+
+            if(isInterfaceMissing())
+            {
+                ret += OC::InitException::MISSING_INTERFACE;
+            }
+
+            if(isClientWrapperMissing())
+            {
+                ret += OC::InitException::MISSING_CLIENT_WRAPPER;
+            }
+
+            if(isInvalidPort())
+            {
+                ret += OC::InitException::INVALID_PORT;
+            }
+
+            if(isInvalidIp())
+            {
+                ret += OC::InitException::INVALID_IP;
+            }
+
+            if(isInvalidHost())
+            {
+                ret += OC::InitException::INVALID_HOST;
+            }
+
+            return ret.c_str();
         }
 
     private:
-        std::string m_whatMessage;
+
         bool m_missingUri;
+        bool m_invalidUri;
         bool m_missingType;
         bool m_missingInterface;
         bool m_missingClientWrapper;
         bool m_invalidPort;
         bool m_invalidIp;
+        bool m_invalidHost;
     };
 }