1 
2 #ifndef SDAIOBJECT_H
3 #define SDAIOBJECT_H 1
4 
5 #include <sc_export.h>
6 
7 /*
8 
9 */
10 /*
11    The EXPRESS ENTITY entity_instance from the SDAI_data_type_schema from
12    clause 10 in ISO 10303-22, shall be mapped to the C++ class Entity_instance.
13    The class Entity_instance shall be a subtype of the C++ class Object:
14 */
15 
16 class SC_DAI_EXPORT SDAI_sdaiObject {
17     public:
18         SDAI_sdaiObject();
19         virtual ~SDAI_sdaiObject();
20 //    static Object_ptr _duplicate(Object_ptr);
21 //    static Object_ptr _nil();
22 
23 };
24 
25 typedef SDAI_sdaiObject * SDAI_sdaiObject_ptr;
26 typedef SDAI_sdaiObject_ptr SDAI_sdaiObject_var;
27 
28 /*
29    The class Object shall be accessed through the handle types Object_ptr and
30    Object_var. For handles to the C++ class representing a EXPRESS ENTITY data
31    type A, the following implicit widening operations shall be supported:
32    A_ptr to Object_ptr and A_var to Object_ptr. An implementation need not
33    support implicit widening of A_var to Object_var.
34 
35    This binding shall support the following functions:
36 */
37 
38 //void release(Object_ptr obj);
39 
40 /*
41    The release function indicates that the caller will no longer access the
42    reference obj.
43 */
44 
45 //Boolean is_nil(Object_ptr obj);
46 
47 /*
48    The is_nil function shall return true if obj is a nil handle; otherwise it
49    returns false.
50 
51    This binding does not specify that all base classes in the application
52    schema be virtual base classes; however, it does require that no multiply
53    inherited derived class contain multiple instantiations of any of its base
54    classes. This requirement applies to all classes, even classes used to
55    instantiate complex instances.
56 */
57 
58 #endif
59