Initial merge-commit of the OIC code. Should successfully do discovery for single...
[platform/upstream/iotivity.git] / include / OCObject.h
1 //******************************************************************
2 //
3 // Copyright 2014 Intel Corporation All Rights Reserved.
4 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
5
6 /// @file OCObject.h 
7
8 /// @brief      This file contains the declaration of classes and its members related to 
9 ///                     OCObject.
10
11 #ifndef __OCOBJECT_H
12 #define __OCOBJECT_H
13
14 namespace OC 
15 {
16         /**
17         * @brief        The OCObject is the root abstract class from which many of the OC related objects derive from.
18         *                       It implements a common set of functionality supported by all the OC classes in the 
19         *                       SDK such as object naming, ID, natural sort order and comparison. 
20         */
21         class OCObject
22         {
23         public:
24                 OCObject(void);
25                 
26                 virtual ~OCObject(void);
27                 
28                 /**
29                 * @fn   Determines if the resource should be listed in the well-known core list.
30                 * 
31                 * NOTE: This may be better handled at a different location.
32                 * 
33                 * @return Returns true if resource should be listed.
34                 */
35                 virtual bool isVisible() = 0;
36         };
37 }
38
39 #endif //__OCOBJECT_H
40