GlobalObjects
Lade ...
Suche ...
Keine Treffer
GloBaseRecordAttribute.h
gehe zur Dokumentation dieser Datei
1#ifndef INC_GLOBASERECORDATTRIBUTE_H
2#define INC_GLOBASERECORDATTRIBUTE_H
3//-----------------------------------------------------------------------------
36//-----------------------------------------------------------------------------
37#include "GloTypes.h"
39#if defined (__PTHREADS)
40 #include <EuPCriticalSection.h>
41#else
42 #include "EuCriticalSection.h"
43#endif
44#include <string>
45#include <memory>
46//-----------------------------------------------------------------------------
47/* Forwards */
48namespace ptl
49{
50 template<class T_DATA> class TDVList;
51}
52namespace eut
53{
54 class Blob;
55}
56//-----------------------------------------------------------------------------
57namespace glo
58{
59 //---------------------------------------------------------------------------
60 /* Forwards */
61 class ObjID;
62 class Persistent;
63//---------------------------------------------------------------------------
64 #ifdef _MSC_VER
65 /* 'Bezeichner': Klasse 'Typ' benötigt eine DLL-Schnittstelle, die von... */
66 #pragma warning( disable : 4251 )
67 #endif
68 //---------------------------------------------------------------------------
109 {
110 //============== Friends
111 //-----------------------------------------------------------------------
112 friend class ptl::TDVList<BaseRecordAttribute>;
113 //-----------------------------------------------------------------------
114
115 //============== Static attributes
116 //-----------------------------------------------------------------------
128 #ifdef _DEBUG
129 static unsigned int sm_uiInstanceCount;
130 #endif // _DEBUG
131 //-----------------------------------------------------------------------
132
133 private:
134 //============== Attributes
135 //-----------------------------------------------------------------------
145 unsigned int m_uiReferenceCount;
146 //-----------------------------------------------------------------------
158 #if defined (__PTHREADS)
159 EuPCriticalSection m_LocalCriticalSection;
160 #else
162 #endif
163 //-----------------------------------------------------------------------
178 //-----------------------------------------------------------------------
189 std::streampos m_FilePosition;
190 //-----------------------------------------------------------------------
191
192 protected:
193 //============= Constructors
194 //-----------------------------------------------------------------------
205 //-----------------------------------------------------------------------
206 #if defined( _MSC_VER ) && ( _MSC_VER < 1900 )
207 public:
208 #else
209 protected:
210 #endif
211
212 //-----------------------------------------------------------------------
225 //-----------------------------------------------------------------------
226
227 public:
228 //============= Constructors
229 //-----------------------------------------------------------------------
246 const std::streampos & rFilePos);
247 //-----------------------------------------------------------------------
248
249 protected:
250 //============== Constructors
251 //-----------------------------------------------------------------------
265 //-----------------------------------------------------------------------
266
267 public:
268 //============== Methods
269 //-----------------------------------------------------------------------
282 //-----------------------------------------------------------------------
292 virtual void initNew() = 0;
293 //-----------------------------------------------------------------------
311 unsigned int remember();
312 //-----------------------------------------------------------------------
333 unsigned int forget();
334 //-----------------------------------------------------------------------
346 unsigned int getReferenceCount() const;
347 //-----------------------------------------------------------------------
364 //-----------------------------------------------------------------------
377 //-----------------------------------------------------------------------
390 //-----------------------------------------------------------------------
391 // doxygen -> warning: unable to resolve reference to 'GLO_REF_DEPENDENT' for \ref command
392 // Is a reference to the GlobalObjects documentation.
393 //-----------------------------------------------------------------------
409 std::string getTypeInfo() const;
410 //-----------------------------------------------------------------------
423 //-----------------------------------------------------------------------
437 std::string getTypeAsString() const;
438 //-----------------------------------------------------------------------
452 std::string getTypeAsCppString() const;
453 //-----------------------------------------------------------------------
465 std::string getTableName() const;
466 //-----------------------------------------------------------------------
478 std::string getFieldName() const;
479 //-----------------------------------------------------------------------
493 std::string getTableFieldName() const;
494 //-----------------------------------------------------------------------
527 virtual bool dataIsFieldContent() const = 0;
528 //-----------------------------------------------------------------------
551 virtual std::string getDataReference() const;
552 //-----------------------------------------------------------------------
575 virtual void setDataReference( const std::string & rsDataReference );
576 //-----------------------------------------------------------------------
607 virtual int updateDataReference( const std::string & rsDataPath,
608 DATA_REFERENCE_INFO MethodInfo );
609 //-----------------------------------------------------------------------
642 virtual int getFormattedFieldContents( std::string & rsRetVal,
643 DATA_REFERENCE_INFO & rRetValInfo,
644 ObjID ObjID );
645 //-----------------------------------------------------------------------
657 std::string getClassName() const;
658 //-----------------------------------------------------------------------
672 std::string getClassMemberName() const;
673 //-----------------------------------------------------------------------
686 //-----------------------------------------------------------------------
699 virtual unsigned short getDataFieldLength() const = 0;
700 //-----------------------------------------------------------------------
712 void setFilePosition( const std::streampos & rFilePos );
713 //-----------------------------------------------------------------------
725 std::streampos getFilePosition() const;
726 //-----------------------------------------------------------------------
756 const AttributeID & rAttributeID );
757 //-----------------------------------------------------------------------
771 virtual void setValueFromVoid( void * pValue ) = 0;
772 //-----------------------------------------------------------------------
784 virtual std::string getValueAsString() const = 0;
785 //-----------------------------------------------------------------------
801 virtual std::string getValueAsDataString() const = 0;
802 //-----------------------------------------------------------------------
814 virtual std::string getValueAsStreamString() const = 0;
815 //-----------------------------------------------------------------------
827 virtual std::string getValueAsDisplayString() const = 0;
828 //-----------------------------------------------------------------------
840 virtual void * getValueAsVoidPointer() = 0;
841 //-----------------------------------------------------------------------
863 virtual int takeValue( const BaseRecordAttribute & rT );
864 //-----------------------------------------------------------------------
887 virtual int getAttributeValueBlob( eut::Blob & rBlob ) const;
888 //-----------------------------------------------------------------------
909 //-----------------------------------------------------------------------
910 //============== Operators
911 //-----------------------------------------------------------------------
913
924 bool operator== ( const BaseRecordAttribute & rT ) const;
925 bool operator!= ( const BaseRecordAttribute & rT ) const;
927 //-----------------------------------------------------------------------
928
929 private:
930 //============== Operators
931 //-----------------------------------------------------------------------
942 //-----------------------------------------------------------------------
943 };
944 //---------------------------------------------------------------------------
945 #ifdef _MSC_VER
946 /* 'Bezeichner': Klasse 'Typ' benötigt eine DLL-Schnittstelle, die von... */
947 #pragma warning( default : 4251 )
948 #endif
949 //---------------------------------------------------------------------------
950} // namespace glo
951#endif
Header für CriticalSection
Header für EuPCriticalSection
Header für ClassInfoAttribute und ClassInfoAttribute::Type
Für jede Bibliothek, hier 'GlobalObjects' gibt es eine Typen-Datei.
#define __glo_export_dll
Definition GloTypes.h:63
Ist ein Mutex, welcher über sein Lock-Modus abgefragt werden kann. Siehe isLocked().
Definition EuPCriticalSection.h:89
Diese Klasse erlaubt das Bearbeiten eines Blobs (einfügen, kopieren, durchsuchen etc....
Definition EuBlob.h:60
Ist ein Mutex, welcher über sein Lock-Modus abgefragt werden kann. Siehe isLocked().
Definition EuCriticalSection.h:94
Diese Klasse spiegelt eine eindeutige ID eines Klasseninformations-Attributes wieder.
Definition GloAttributeID.h:74
Basisklasse für die einzelnen Attribute eines Record.
Definition GloBaseRecordAttribute.h:109
eut::CriticalSection m_LocalCriticalSection
Definition GloBaseRecordAttribute.h:161
void setFilePosition(const std::streampos &rFilePos)
virtual void setValueFromVoid(void *pValue)=0
EnDataType getDataType() const
std::string getTableName() const
AttributeID getAttributeID() const
ClassInfoAttribute * m_pClassInfoAttribut
Definition GloBaseRecordAttribute.h:177
unsigned int getReferenceCount() const
unsigned int m_uiReferenceCount
Definition GloBaseRecordAttribute.h:145
virtual int getFormattedFieldContents(std::string &rsRetVal, DATA_REFERENCE_INFO &rRetValInfo, ObjID ObjID)
virtual std::string getValueAsStreamString() const =0
std::string getTypeAsCppString() const
virtual BaseRecordAttribute * getCopy()=0
std::string getTableFieldName() const
BaseRecordAttribute(const BaseRecordAttribute &rT)
EnDataTypeGroup getInfoType()
virtual int updateDataReference(const std::string &rsDataPath, DATA_REFERENCE_INFO MethodInfo)
std::streampos m_FilePosition
Definition GloBaseRecordAttribute.h:189
virtual std::string getDataReference() const
unsigned int remember()
virtual int getAttributeValueBlob(eut::Blob &rBlob) const
std::string getTypeAsString() const
virtual std::string getValueAsDataString() const =0
virtual std::string getValueAsString() const =0
BaseRecordAttribute(ClassInfoAttribute *pClassInfoAttribut, const std::streampos &rFilePos)
std::streampos getFilePosition() const
ClassInfoAttribute::Type getType() const
virtual std::string getValueAsDisplayString() const =0
static unsigned int sm_uiInstanceCount
Definition GloBaseRecordAttribute.h:129
std::string getClassName() const
ClassInfoAttribute * getClassInfoAttribute() const
virtual unsigned short getDataFieldLength() const =0
std::string getClassMemberName() const
virtual void initNew()=0
virtual bool dataIsFieldContent() const =0
virtual void * getValueAsVoidPointer()=0
virtual int takeValue(const BaseRecordAttribute &rT)
std::string getFieldName() const
virtual int setValueFromObjectAttributeID(Persistent &rObject, const AttributeID &rAttributeID)
virtual void setDataReference(const std::string &rsDataReference)
std::string getTypeInfo() const
Zusammengefasste Typinformationen für ein ClassInfoAttribute.
Definition GloClassInfoAttribute.h:101
In Objekten dieser Klasse sind die Information für GlobalObjects, wie ein persistentes Klassenattribu...
Definition GloClassInfoAttribute.h:76
Ein Objekt-ID besteht aus der Klassen-ID, einer Datenbank-ID und der eigentlichen eindeutigen ObjektZ...
Definition GloObjID.h:77
Die Basisklasse der persistenten Klassen. Von dieser Klasse müssen alle persistenten Klassen abgeleit...
Definition GloPersistent.h:221
Template-Listenklasse für Zeiger auf Objekte.
Definition PtlTDVList.h:98
Definition IniFile.h:47
Definition GloAbstractBaseLot.h:42
EnDataTypeGroup
Definition GloRecordAttributeTypes.h:640
unsigned long DATA_REFERENCE_INFO
Definition GloRecordAttributeTypes.h:745
EnDataType
Definition GloRecordAttributeTypes.h:547
Definition PtlATDVList.h:41