|
Public Member Functions |
virtual char * | _Where () const |
virtual char * | _OrderBy () const |
virtual class ResultBase * | ExecuteQuery (const QueRefProto &Q, class Connection *DbCon, const int i, class ResultBase *QR) |
bool | operator== (class ProtoBase &_p) |
bool | operator!= (class ProtoBase &_p) |
bool | operator< (class ProtoBase &_p) |
bool | operator> (class ProtoBase &_p) |
bool | operator<= (class ProtoBase &_p) |
bool | operator>= (class ProtoBase &_p) |
| ProtoBase () |
virtual | ~ProtoBase () |
virtual bool | IsObject () |
virtual bool | IsImmutableObject () |
virtual bool | IsDatabaseObject () |
virtual bool | IsPersistentObject () |
virtual bool | IsIopcPersistentObject () |
virtual const char * | ClassName ()=0 |
virtual const char * | BaseClassName () |
virtual const char * | RootClassName ()=0 |
virtual const char * | ParentClassNames ()=0 |
virtual const char * | Select () |
virtual const char * | Into () |
virtual const char * | From ()=0 |
virtual const char * | Where () |
virtual const char * | GroupBy () |
virtual const char * | Having () |
virtual const char * | OrderBy () const=0 |
virtual const char * | FullSelect () |
virtual const char * | FullFrom () |
virtual char * | FullFrom (int k) |
virtual const char * | FullWhere () |
virtual char * | FullWhere (int k) |
virtual const char * | KeySelect () |
virtual const char * | KeyWhere () |
virtual const char * | KeyFrom () |
virtual class ProtoBase * | RootPrototype () const |
virtual int | ParentPrototypeCount () |
virtual class ProtoBase * | ParentPrototype (const int i) |
virtual int | FullParentPrototypeCount () |
virtual class ProtoBase * | FullParentPrototype (const int i) |
virtual class Object * | New () const=0 |
virtual class RefBase * | NewRef ()=0 |
const char * | ColumnTable (const char *const col) |
bool | LockTable (class Connection *aDbCon, enum LockingStrategy aLockingStrategy=LS_Default, enum WaitingStrategy aWaitingStrategy=WS_Default) |
bool | WriteDDL (std::ofstream &S, class Database &Db) |
char * | ColumnTypeDDL (int i, class Database &Db) |
Static Public Member Functions |
void | Register (class ProtoBase *_p, const char *_n) |
ProtoBase * | Find (const char *_n) |
Protected Member Functions |
virtual bool | _KeyValues (char *&s) |
virtual char * | _KeyValues (const class Object &o) |
virtual bool | _ExportAttributes (const class Object &o) |
virtual bool | _ExportKeyAttributes (const class Object &o) |
virtual bool | _ExportKeyAttributes (const class RefBase &x) |
virtual bool | _ImportAttributes (class Object &o) |
virtual bool | _ImportKeyAttributes (class RefBase &x) |
virtual void | _Initialise () |
void | _InitialiseParentPrototype () |
void | _InitialiseFullParentPrototype (class ProtoBase *_p) |
void | _InitialiseSqlVar () |
void | _InitialiseSelect () |
void | _InitialiseFullSelect () |
void | _InitialiseKeySelect () |
void | _InitialisePtrSelect () |
void | _InitialiseInto () |
void | _InitialiseFullFrom () |
void | _InitialiseWhere () |
void | _InitialiseFullWhere () |
void | _InitialiseKeyWhere () |
void | _InitialiseGroupBy () |
void | _InitialiseHaving () |
void | _InitialiseStmtSelect () |
void | _InitialiseStmtInsert () |
void | _InitialiseStmtDelete () |
void | _InitialiseStmtUpdate () |
char * | _StmtSelectPtr (const QueRefProto &Q, const int i) |
char * | _StmtSelectPtr (const char *const _where_clause, const char *const _order_by_clause, const char *const _select_clause, const char *const _from_clause, const int i) |
bool | _BindPtr (class Cursor *C) |
virtual ProtoBase * | _PtrPrototype () |
virtual char * | _RealiasT (char *&fragment, const char *table, const int i, const int j) |
virtual char * | _RealiasT (char *&fragment, const int i) |
virtual void | _MapKey (int i, const char *&attr, unsigned char Object::*&mem, const char *&col, char &type, unsigned int &len, bool &rw)=0 |
virtual void | _Map (int i, const char *&attr, unsigned char Object::*&mem, const char *&col, char &type, unsigned int &len, bool &rw)=0 |
virtual const char * | _ProtoTWhere ()=0 |
virtual const char * | _ProtoTGroupBy ()=0 |
virtual const char * | _ProtoTHaving ()=0 |
bool | _InsertAll (class Object *target) |
bool | _Insert (class Connection *aDbConn) |
bool | _UpdateAll (class Object *target) |
bool | _Update (class Connection *aDbConn) |
bool | _DeleteAll (class Object *target) |
bool | _Delete (class Connection *aDbConn) |
virtual bool | _Load (class Object *o) |
virtual bool | _DeleteAll (class RefBase *target) |
char * | _TranslateToSql (char *(&dst), const char *const src) |
char * | _TranslateToSql (char *(&src)) |
Query & | _TranslateToSql (class Query &Q) |
virtual char * | _TranslateAttributesToColumns (char *src) |
virtual bool | _BindKeysAndClassIdentificatingAttributes (Cursor *cursor) |
ProtoBase * | _gcs (ProtoBase &X) |
Static Protected Member Functions |
void | _ResetProcessed (ProtoBase *const _p) |
Protected Attributes |
ProtoBase * | _left |
ProtoBase * | _right |
ProtoBase * | _next |
bool | _initialised |
bool | _processed |
bool | _isObject |
bool | _isImmutableObject |
bool | _isDatabaseObject |
bool | _isPersistentObject |
bool | _isRootClass |
char * | _condition |
struct { |
int KeyCount |
int Count |
int SpecCount |
void * Arr |
} | _sqlVars |
ProtoBase * | _rootPrototype |
int | _parentPrototypeCount |
ProtoBase ** | _parentPrototype |
int | _fullParentPrototypeCount |
ProtoBase ** | _fullParentPrototype |
char * | _select |
char * | _fullSelect |
char * | _keySelect |
char * | _ptrSelect |
char * | _into |
char * | _fullFrom |
char * | _where |
char * | _fullWhere |
char * | _keyWhere |
char * | _groupBy |
char * | _having |
char * | _stmtSelect |
char * | _stmtInsert |
char * | _stmtDelete |
char * | _stmtUpdate |
Static Protected Attributes |
ProtoBase * | _root = NULL |
ProtoBase * | _first = NULL |
POLiTe library introduced concept of prototypes. Prototypes are ancestors of this class. For each user persistent capable class there is one instance of a prototype in POLiTe system. This instance contains data and methods needed to support persistence of the user class.
Most classes coming from POLiTe use prototypes, so it would be very difficult to eliminate prototypes from IOPC. But because this class was designed only for use in POLiTe library, that is based on macro processing and supports only one way of storing objects in database, most functions of this class does not make any sence in IOPC. So I (Josef Troch) developed class IopcProtoBaseAdaptor that implements all methods declared in this class, that needed to be overriden - most of them are fake methods. All important actions IopcProtoBaseAdaptor delegates to appropriate IopcClassObjectImpl.
This class was slightly documented in POLiTe, these old comments can be found in class's header, not in doxygen. I (Josef Troch) have added only this introductory comment and I have also commented all functions, that I had added or significantly modified. To find out, what should other methods of this class do, it may be usefull to view documentation of IopcProtoBaseAdaptor.
Most functions of this class returns true if OK, false in case of error.