69 lines
2.0 KiB
C++
69 lines
2.0 KiB
C++
|
|
#ifndef SDAIOBJECT_H
|
|
#define SDAIOBJECT_H 1
|
|
|
|
/*
|
|
#include <sclprefixes.h>
|
|
*/
|
|
/*
|
|
The EXPRESS ENTITY entity_instance from the SDAI_data_type_schema from
|
|
clause 10 in ISO 10303-22, shall be mapped to the C++ class Entity_instance.
|
|
The class Entity_instance shall be a subtype of the C++ class Object:
|
|
*/
|
|
|
|
class SCLP23_NAME(sdaiObject)
|
|
{
|
|
public:
|
|
SCLP23_NAME(sdaiObject)();
|
|
virtual ~SCLP23_NAME(sdaiObject)();
|
|
// static Object_ptr _duplicate(Object_ptr);
|
|
// static Object_ptr _nil();
|
|
|
|
#ifdef PART26
|
|
// virtual SCLP26(Application_instance_ptr) create_TIE();
|
|
virtual IDL_Application_instance_ptr create_TIE();
|
|
#endif
|
|
|
|
#ifdef __OSTORE__
|
|
static os_typespec* get_os_typespec();
|
|
virtual void Access_hook_in(void *object,
|
|
enum os_access_reason reason, void *user_data,
|
|
void *start_range, void *end_range);
|
|
#endif
|
|
};
|
|
|
|
typedef SCLP23_NAME(sdaiObject)* SCLP23_NAME(sdaiObject_ptr);
|
|
typedef SCLP23_NAME(sdaiObject_ptr) SCLP23_NAME(sdaiObject_var);
|
|
|
|
/*
|
|
The class Object shall be accessed through the handle types Object_ptr and
|
|
Object_var. For handles to the C++ class representing a EXPRESS ENTITY data
|
|
type A, the following implicit widening operations shall be supported:
|
|
A_ptr to Object_ptr and A_var to Object_ptr. An implementation need not
|
|
support implicit widening of A_var to Object_var.
|
|
|
|
This binding shall support the following functions:
|
|
*/
|
|
|
|
//void release(Object_ptr obj);
|
|
|
|
/*
|
|
The release function indicates that the caller will no longer access the
|
|
reference obj.
|
|
*/
|
|
|
|
//Boolean is_nil(Object_ptr obj);
|
|
|
|
/*
|
|
The is_nil function shall return true if obj is a nil handle; otherwise it
|
|
returns false.
|
|
|
|
This binding does not specify that all base classes in the application
|
|
schema be virtual base classes; however, it does require that no multiply
|
|
inherited derived class contain multiple instantiations of any of its base
|
|
classes. This requirement applies to all classes, even classes used to
|
|
instantiate complex instances.
|
|
*/
|
|
|
|
#endif
|