00001 00002 #ifndef d_Ref_Dyna_h 00003 #define d_Ref_Dyna_h 1 00004 00005 //------------------------------------------------------------------------------ 00006 #include "d_Ref_Any.h" 00007 #include "d_Variant.h" 00008 00009 //------------------------------------------------------------------------------ 00010 class _ODLL d_Object; 00011 class _ODLL d_Binary; 00012 00013 // Expresses relationships to objects. 00014 // 00015 // This class represents a generic reference to a persistent object. Use d_Ref 00016 // class for reference of knew type. 00017 // 00018 // It can be used as attribute of a class for 1 to 1 relationship between 00019 // objects of the same or different class. 00020 // 00021 // If it's used as template-argument of a class container in a class attribute 00022 // can express 1 to N relationships. 00023 // 00024 // LOCATION: 00025 // d_Ref_Dyna.h 00026 // 00027 // USAGE: 00028 // d_Ref_Dyna <property-name>; 00029 // 00030 // Where: 00031 // <PROPERTY-NAME>: NAME OF PROPERTY 00032 // 00033 // EXAMPLES: 00034 // class Invoice : public d_Object 00035 // { 00036 // // Relationship 1-1 to customer or supplier 00037 // d_Ref_Dyna customer_or_supplier; 00038 // 00039 // // Relationship 1-N to product 00040 // d_Set< d_Ref_Dyna > products; 00041 // }; 00042 // 00043 // // Reference to Invoice object 00044 // d_Ref_Dyna<Invoice> myInvoice; 00045 // 00046 // SEE ALSO: 00047 // d_Ref, d_Object 00048 // 00049 // ODMG: 00050 // Extension 00051 00052 class _ODLL d_Ref_Dyna : public d_Ref_Any 00053 { 00054 public: 00055 // Internal. 00056 bool setMember( const char* iName, const d_Variant& iValue ); 00057 00058 // Internal. 00059 bool getMember( const char* iName, d_Variant& ioValue ) const; 00060 }; 00061 //------------------------------------------------------------------------------ 00062 //------------------------------------------------------------------------------ 00063 00064 #endif
1.3-rc1