Updated license header to reference Apache 2.0 License
[platform/upstream/iotivity.git] / include / OCObject.h
1 //******************************************************************
2 //
3 // Copyright 2014 Intel Corporation All Rights Reserved.
4 //
5 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
6 //
7 // Licensed under the Apache License, Version 2.0 (the "License");
8 // you may not use this file except in compliance with the License.
9 // You may obtain a copy of the License at
10 //
11 //      http://www.apache.org/licenses/LICENSE-2.0
12 //
13 // Unless required by applicable law or agreed to in writing, software
14 // distributed under the License is distributed on an "AS IS" BASIS,
15 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 // See the License for the specific language governing permissions and
17 // limitations under the License.
18 //
19 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
20
21 /// @file OCObject.h 
22
23 /// @brief      This file contains the declaration of classes and its members related to 
24 ///                     OCObject.
25
26 #ifndef __OCOBJECT_H
27 #define __OCOBJECT_H
28
29 namespace OC 
30 {
31         /**
32         * @brief        The OCObject is the root abstract class from which many of the OC related objects derive from.
33         *                       It implements a common set of functionality supported by all the OC classes in the 
34         *                       SDK such as object naming, ID, natural sort order and comparison. 
35         */
36         class OCObject
37         {
38         public:
39                 OCObject(void);
40                 
41                 virtual ~OCObject(void);
42                 
43                 /**
44                 * @fn   Determines if the resource should be listed in the well-known core list.
45                 * 
46                 * NOTE: This may be better handled at a different location.
47                 * 
48                 * @return Returns true if resource should be listed.
49                 */
50                 virtual bool isVisible() = 0;
51         };
52 }
53
54 #endif //__OCOBJECT_H
55