RVC::OBJECT Class Reference

The base class for all RVC objects. More...

#include <rvc/object.h>

Inheritance diagram for RVC::OBJECT:
Inheritance graph
[legend]

List of all members.

Classes

class  AUTOFILECACHE
 Sentry class to automatically enable/disable open file caching. More...
class  CONST_ITERATOR
 Constant iterator class. More...
class  FILTER
 Base class for method filters. More...
class  FILTER_NEWERTHANPARENT
 Class filter designed to select objects that are newer than their parent. More...
class  FILTER_OBJTYPESET
 Class filter designed to select objects based on an OBJTYPESET. More...
class  ITERATOR
 Iterator class. More...
class  LINKITEM
 Item holding the link information to either an external file, another project file object, or a RDBMS link Used in GetLinkedFiles(). More...
class  TOPLEVELNAMECHANGE
 Class used by methods that perform creation of top level objects outside of CopyObjectTo() methods to assist the copying of link objects when the link should refer to the destination object but the name of the top level object has changed. More...
class  UNIQUECHILDNAMEFILTER
class  UNIQUENAMEFILTER
 Interface class to filter out not unique names based on the starting name. More...

Public Types

enum  COPYFLAGS {
  COPYFLAG_None = 0x00000000, COPYFLAG_DontCopyChildren = 0x00000001, COPYFLAG_CopySpatialFromLink = 0x00000002, COPYFLAG_CopyDBTableFromLink = 0x00000004,
  COPYFLAG_CopyRVCObjectFromLink = 0x00000008, COPYFLAG_CopyTextFromLink = 0x00000010, COPYFLAG_DontCopyStdAttTables = 0x00000020, COPYFLAG_ReportInvalidParent = 0x00000040,
  COPYFLAG_ForceOneObjectCopy = 0x00000080, COPYFLAG_CopyIfNotModifiable = 0x00000100, COPYFLAG_CopyToEditFormat = 0x00000200, COPYFLAG_NoUpdateEmbeddedNames = 0x00000400
}
enum  DUMPINFOFLAGS {
  DUMPINFOFLAG_Minimal = 0x00000000, DUMPINFOFLAG_Subobjects = 0x00000001, DUMPINFOFLAG_FullHeader = 0x00000002, DUMPINFOFLAG_ObjectData = 0x00000004,
  DUMPINFOFLAG_Standard = (DUMPINFOFLAG_Subobjects | DUMPINFOFLAG_FullHeader), DUMPINFOFLAG_Maximal = (DUMPINFOFLAG_Subobjects | DUMPINFOFLAG_FullHeader | DUMPINFOFLAG_ObjectData)
}
enum  LINKFILEFLAGS { LINKFILEFLAG_None = 0x00000000, LINKFILEFLAG_SearchChildren = 0x00000001 }
typedef MILIST< LINKITEMLINKITEMLIST
enum  LOCKSTATE {
  LOCKSTATE_Unlocked, LOCKSTATE_CurrentOpenReadIsWritable, LOCKSTATE_CurrentOpenReadNotWritable, LOCKSTATE_CurrentOpenWrite,
  LOCKSTATE_ExternalOpenRead, LOCKSTATE_ExternalOpenWrite, LOCKSTATE_ExternalReadLockFile, LOCKSTATE_ExternalWriteLockFile
}
enum  OPENMODE {
  OPENMODE_NotOpen = 0, OPENMODE_Read, OPENMODE_Write, OPENMODE_WriteAttempt,
  OPENMODE_ReadNoLock, OPENMODE_WriteAbsolute, OPENMODE_ReadAbsolute, OPENMODE_WriteNoLock,
  OPENMODE_ReadNoDialog, OPENMODE_ReadNoScanAutoLink, OPENMODE_WriteNoDialog
}
enum  TEMPFILE { TEMPFILE_DeleteOnClose = 0x00000100, TEMPFILE_DeleteOnExit = 0x00000200 }

Public Member Functions

 OBJECT (const RVC::OBJECT &obj)
virtual ~OBJECT ()
ERRVALUE Attach (const RVC::OBJECT &twin, const CREDENTIALS *Credentials RVC_DEFAULT_CREDENTIALS)
ERRVALUE Attach (const RVC::OBJECT &source, const MIUNICODE *filename, const MISTRING &ObjectPath, const CREDENTIALS *Credentials RVC_DEFAULT_CREDENTIALS)
ERRVALUE Attach (const RVC::OBJECT &parent, const RVC::OBJTYPE ObjType, const RVC::DESCRIPTOR &Descriptor, const CREDENTIALS *Credentials RVC_DEFAULT_CREDENTIALS)
ERRVALUE Attach (const RVC::OBJECT &parent, const RVC::OBJTYPE ObjType, const RVC::OBJECTNAME &ShortName, const CREDENTIALS *Credentials RVC_DEFAULT_CREDENTIALS)
ERRVALUE Attach (const FILEPATH &FilePath, const MISTRING &ObjectPath, const CREDENTIALS *Credentials RVC_DEFAULT_CREDENTIALS)
ERRVALUE Attach (const RVC::OBJITEM &ObjItem, const CREDENTIALS *Credentials RVC_DEFAULT_CREDENTIALS)
ERRVALUE Attach (const FILEPATH &FilePath, const CREDENTIALS *Credentials RVC_DEFAULT_CREDENTIALS)
ERRVALUE AttachToParent (const RVC::OBJITEM &ObjItem, const CREDENTIALS *Credentials RVC_DEFAULT_CREDENTIALS)
bool CanOpenForWrite () const
ERRVALUE ChangeDescriptor (const DESCRIPTOR &NewDescriptor, const CREDENTIALS *Credentials RVC_DEFAULT_CREDENTIALS)
ERRVALUE ChangeObjectLink (const FILEPATH &Filename, const MISTRING &ObjName, const CREDENTIALS *Credentials RVC_DEFAULT_CREDENTIALS)
ERRVALUE ChangeSource (const RVC::OBJECTSOURCE &NewSource, const CREDENTIALS *Credentials RVC_DEFAULT_CREDENTIALS)
ERRVALUE ChangeTempFileMode (TEMPFILE flags)
ITERATOR ChildListBegin (RVC::OBJTYPE m_ObjType)
CONST_ITERATOR ChildListBegin (RVC::OBJTYPE m_ObjType) const
ITERATOR ChildListEnd ()
CONST_ITERATOR ChildListEnd () const
ERRVALUE Close ()
INT64 ComputeProjectFileFreeSpace (const CREDENTIALS *Credentials RVC_DEFAULT_CREDENTIALS) const
ERRVALUE CopyChildrenTo (RVC::OBJECT &DestParentObj, FILTER &filter, COPYFLAGS CopyFlags=COPYFLAG_None, const CREDENTIALS *Credentials RVC_DEFAULT_CREDENTIALS) const
ERRVALUE CopyChildrenTo (RVC::OBJECT &DestParentObj, COPYFLAGS CopyFlags=COPYFLAG_None, const CREDENTIALS *Credentials RVC_DEFAULT_CREDENTIALS) const
ERRVALUE CopyTo (RVC::OBJECT &DestParentObj, RVC::OBJECT &DestObj, FILTER &filter, const DESCRIPTOR &Descriptor, COPYFLAGS CopyFlags=COPYFLAG_None, const CREDENTIALS *Credentials RVC_DEFAULT_CREDENTIALS) const
ERRVALUE CopyTo (RVC::OBJECT &DestParentObj, RVC::OBJECT &DestObj, FILTER &filter, COPYFLAGS CopyFlags=COPYFLAG_None, const CREDENTIALS *Credentials RVC_DEFAULT_CREDENTIALS) const
ERRVALUE CopyTo (RVC::OBJECT &DestParentObj, RVC::OBJECT &DestObj, const DESCRIPTOR &Descriptor, COPYFLAGS CopyFlags=COPYFLAG_None, const CREDENTIALS *Credentials RVC_DEFAULT_CREDENTIALS) const
ERRVALUE CopyTo (RVC::OBJECT &DestParentObj, RVC::OBJECT &DestObj, COPYFLAGS CopyFlags=COPYFLAG_None, const CREDENTIALS *Credentials RVC_DEFAULT_CREDENTIALS) const
ERRVALUE Delete (const CREDENTIALS *Credentials RVC_DEFAULT_CREDENTIALS)
void Detach ()
ERRVALUE DumpObjectInfo (MISTRING &LogString, DUMPINFOFLAGS DumpInfoFlags=DUMPINFOFLAG_Minimal, const CREDENTIALS *Credentials RVC_DEFAULT_CREDENTIALS)
bool FindChild (RVC::OBJECT &Child, const RVC::DESCRIPTOR &Descriptor, FILTER &filter) const
bool FindChild (RVC::OBJECT &Child, const RVC::DESCRIPTOR &Descriptor) const
bool FindChild (RVC::OBJECT &Child, const MISTRING &ObjectPath) const
bool FindChild (RVC::OBJECT &Child, const RVC::OBJECTNAME &name, FILTER &filter) const
bool FindChild (RVC::OBJECT &Child, const RVC::OBJECTNAME &name) const
bool FindChildLastUsed (RVC::OBJECT &Child, FILTER &filter) const
bool FindChildLastUsed (RVC::OBJECT &Child) const
ERRVALUE FlushFile ()
INT32 GetChildCount (RVC::OBJTYPE otype, FILTER &filter) const
INT32 GetChildCount (RVC::OBJTYPE otype=RVC::OBJTYPE_All) const
INT32 GetChildList (RVC::OBJTYPE ObjType, RVC::OBJITEMLIST &ObjItemList, FILTER *filter=0) const
const CREDENTIALSGetCredentials () const
ERRVALUE GetDescriptor (RVC::DESCRIPTOR &Descriptor, const CREDENTIALS *Credentials RVC_DEFAULT_CREDENTIALS) const
RVC::OBJTYPE GetDftObjectType () const
const FILEPATHGetFilePath () const
const FILEPATHGetFilePathLink () const
DEPRECATED RVCINODENUM GetInodeNum () const
ERRVALUE GetLinkedFiles (LINKITEMLIST &LinkFileList, LINKFILEFLAGS LinkFileFlags=LINKFILEFLAG_None, const CREDENTIALS *Credentials RVC_DEFAULT_CREDENTIALS) const
ERRVALUE GetMetadata (SIMPLE_ARRAY< UINT8 > &buffer, const CREDENTIALS *Credentials RVC_DEFAULT_CREDENTIALS) const
DEPRECATED ERRVALUE GetObjectItem (RVC::OBJITEM &ObjectItem) const
ERRVALUE GetObjectPath (MISTRING &ObjectPath) const
RVC::OBJTYPE GetObjectType () const
ERRVALUE GetObjItem (RVC::OBJITEM &ObjectItem) const
ERRVALUE GetParent (RVC::OBJECT &ObjParent) const
ERRVALUE GetParentStack (RVC::OBJITEMLIST &ParentStack) const
ERRVALUE GetProductVersion (UINT16 &ProductVersion) const
ERRVALUE GetSize (UINT64 &size) const
ERRVALUE GetSource (RVC::OBJECTSOURCE &Source) const
void GetTimeCreate (DATETIME &Create) const
ERRVALUE GetTimeLastMod (DATETIME &LastMod) const
ERRVALUE GetTimeLastUsed (DATETIME &LastUsed) const
INT32 GetUndoNumLevels () const
bool IsAttached () const
bool IsChildOf (const RVC::OBJECT &parent) const
bool IsEqual (const RVC::OBJECT &rhs) const
bool IsFileLinked () const
bool IsFileObject () const
bool IsLiteCreated () const
bool IsObjectLinked () const
bool IsOlderThan (const RVC::OBJECT &Object) const
bool IsOpen () const
bool IsTempFile () const
bool IsTopObject () const
ERRVALUE IsValidParent (const RVC::OBJECT &DestParentObj) const
bool IsWritable () const
ERRVALUE MakeFile (const FILEPATH &FilePath, const MISTRING &desc)
ERRVALUE MakeLink (const RVC::OBJECT &LinkToObject, RVC::OBJECT &NewLinkObject, const DESCRIPTOR &Descriptor, bool LinkToSubobjects=false, const CREDENTIALS *Credentials RVC_DEFAULT_CREDENTIALS)
ERRVALUE MakeLink (const RVC::OBJECT &LinkToObject, RVC::OBJECT &NewLinkObject, bool LinkToSubobjects=false, const CREDENTIALS *Credentials RVC_DEFAULT_CREDENTIALS)
ERRVALUE MakeTempFile (TEMPFILE flags=TEMPFILE_DeleteOnClose)
ERRVALUE MoveTo (RVC::OBJECT &DestParentObj, FILTER &filter, COPYFLAGS CopyFlags=COPYFLAG_None, const CREDENTIALS *Credentials RVC_DEFAULT_CREDENTIALS)
ERRVALUE MoveTo (RVC::OBJECT &DestParentObj, COPYFLAGS CopyFlags=COPYFLAG_None, const CREDENTIALS *Credentials RVC_DEFAULT_CREDENTIALS)
bool NeedNewerThanParent (const CREDENTIALS *Credentials RVC_DEFAULT_CREDENTIALS)
ERRVALUE Open (const RVC::OBJECT &source, const MIUNICODE *filename, const MISTRING &ObjectPath, OPENMODE OpenMode=OPENMODE_Read, MDLGPARENT widget=0, const CREDENTIALS *Credentials=0)
ERRVALUE Open (const FILEPATH &FilePath, const MISTRING &ObjectPath, OPENMODE OpenMode=OPENMODE_Read, MDLGPARENT widget=0, const CREDENTIALS *Credentials=0)
ERRVALUE Open (const RVC::OBJITEM &ObjItem, OPENMODE OpenMode=OPENMODE_Read, MDLGPARENT widget=0, const CREDENTIALS *Credentials=0)
ERRVALUE Open (const FILEPATH &FilePath, OPENMODE OpenMode=OPENMODE_Read, MDLGPARENT widget=0, const CREDENTIALS *Credentials=0)
ERRVALUE Open (const RVC::OBJECT &parent, const RVC::OBJTYPE ObjType, const RVC::DESCRIPTOR &Descriptor, OPENMODE OpenMode=OPENMODE_Read, MDLGPARENT widget=0, const CREDENTIALS *Credentials=0)
ERRVALUE Open (const RVC::OBJECT &twin, OPENMODE OpenMode=OPENMODE_Read, MDLGPARENT widget=0, const CREDENTIALS *Credentials=0)
ERRVALUE Open (OPENMODE OpenMode=OPENMODE_Read, MDLGPARENT widget=0, const CREDENTIALS *Credentials=0)
ERRVALUE OpenParent (const RVC::OBJITEM &ObjItem, OPENMODE OpenMode=OPENMODE_Read, MDLGPARENT widget=0, const CREDENTIALS *Credentials=0)
 operator RVC::OBJITEM () const
RVC::OBJECToperator= (const RVC::OBJECT &rhs)
ERRVALUE RecoverProjectFileTo (RVC::OBJECT &OutputObject, MISTRING &LogString, const CREDENTIALS *Credentials RVC_DEFAULT_CREDENTIALS)
ERRVALUE RedoChanges ()
ERRVALUE SaveObjectTo (RVC::OBJITEM &DestObjItem, const CREDENTIALS *Credentials RVC_DEFAULT_CREDENTIALS) const
ERRVALUE SearchForInvalidChildObjects (bool SearchAllSubLevels, OBJITEMLIST &InvalidChildList, OBJITEMLIST &SingletonChildList, OBJITEMLIST &OutOfDateChildList, const CREDENTIALS *Credentials RVC_DEFAULT_CREDENTIALS) const
ERRVALUE SetMetadata (const SIMPLE_ARRAY< UINT8 > &buffer, const CREDENTIALS *Credentials RVC_DEFAULT_CREDENTIALS)
ERRVALUE SetMinimumTNTVersion (UINT16 Version=0, const CREDENTIALS *Credentials RVC_DEFAULT_CREDENTIALS)
ERRVALUE SetTimeLastMod (const DATETIME &NewTime, const CREDENTIALS *Credentials RVC_DEFAULT_CREDENTIALS)
ERRVALUE SetTimeLastMod (const CREDENTIALS *Credentials RVC_DEFAULT_CREDENTIALS)
ERRVALUE SetTimeLastUsed (const DATETIME &NewTime, const CREDENTIALS *Credentials RVC_DEFAULT_CREDENTIALS)
ERRVALUE SetTimeLastUsed (const CREDENTIALS *Credentials RVC_DEFAULT_CREDENTIALS)
ERRVALUE SetUndoMaxLevel (INT32 NewLevel)
ERRVALUE TraverseLink (RVC::OBJECT &TraversedObject)
ERRVALUE UndoChanges (bool SetRedo=false)
ERRVALUE UndoClear ()
ERRVALUE UndoMark ()
ERRVALUE UpdateFile (const CREDENTIALS *Credentials RVC_DEFAULT_CREDENTIALS)
ERRVALUE UpdateTimeLastUsed (const CREDENTIALS *Credentials RVC_DEFAULT_CREDENTIALS)
ERRVALUE ValidateFileMapping (MISTRING &LogString)

Static Public Member Functions

static void DumpOpenFileList (MISTRING &result, bool IncludeOpenObjects=true)
static ERRVALUE GenerateLockNames (const FILEPATH &SourceFile, FILEPATH &lokfilepath, FILEPATH *kolfilepath=0)
static ERRVALUE GenerateUniqueDescriptor (RVC::DESCRIPTOR &Descriptor, UNIQUENAMEFILTER &filter)
static ERRVALUE GenerateUniqueName (RVC::OBJECTNAME &name, UNIQUENAMEFILTER &filter)
static ERRVALUE GetAutoLinkCachePath (FILEPATH &rvcfilepath, const FILEPATH &extfilepath)
static void GetAutoLinkLocalPath (FILEPATH &rvcfilepath, const FILEPATH &extfilepath)
static void GetAutoLinkPatternList (const OBJTYPESET &objtypeset, MISTRINGLIST &patternlist)
static char GetChildSeparator ()
static ERRVALUE GetExternalFileDescription (const FILEPATH &extfilepath, MISTRING &description)
static ERRVALUE GetExternalProjectFileLink (const FILEPATH &extfilepath, FILEPATH &ProjectFileLink)
static ERRVALUE GetFileObjItem (const FILEPATH &Filename, RVC::OBJITEM &ObjItem, const CREDENTIALS *Credentials RVC_DEFAULT_CREDENTIALS)
static const char * GetObjectIconName (OBJTYPE ObjType)
static const char * GetObjectTagFromObjectType (RVC::OBJTYPE ObjType)
static RVC::OBJTYPE GetObjectTypeFromTag (const MIUNICODE *tag)
static RVC::OBJTYPE GetObjectTypeFromTag (const char *tag)
static LOCKSTATE GetProjectFileLockState (const FILEPATH &ProjectFile, const CREDENTIALS *Credentials RVC_DEFAULT_CREDENTIALS)
static TEXTID GetTextIDFromObjectType (OBJTYPE ObjType)
static char GetTypeSeparator ()
static bool IsCopyable (RVC::OBJTYPE ObjType)
static bool IsSystemInitialized ()
static bool IsValidProjectFile (const FILEPATH &filename)
static ERRVALUE PackProjectFile (const FILEPATH &ProjectFile, const CREDENTIALS *Credentials RVC_DEFAULT_CREDENTIALS)
static void SetDisableCredentialQuery (bool value)
static void SetMultiThreadMode (bool value)
static int TestUsableForLimit (const RVC::OBJITEM &objitem, UINT32 limitmode)
static ERRVALUE TestUsableInLite (const RVC::OBJITEM &objitem)

Protected Member Functions

void AssignInfo (const GENINFO &info)
void AssignInode (RVCINODENUM inode)
ERRVALUE AttachLow (const FILEPATH &FilePath, RVCINODENUM InodeNum, OPENMODE OpenMode, MDLGPARENT parent, const RVC::CREDENTIALS *Credentials)
ERRVALUE CloseFile ()
void CopyObject (const RVC::OBJECT &rhs)
RVC::FILEHANDLE * GetFileInstance () const
RVCINODENUM GetInodeNumPro () const
ERRVALUE GetObjItem (RVCINODENUM InodeNum, OBJITEM &ObjectItem) const
OPENMODE GetOpenMode () const
bool IsFileOpen () const
bool IsObjectOpen (const OBJECT &Object) const
ERRVALUE OpenFile (OPENMODE OpenMode, MDLGPARENT parent, const CREDENTIALS *Credentials)
ERRVALUE OpenRVCFile (const FILEPATH &filepath, OPENMODE OpenMode, MDLGPARENT parent, const CREDENTIALS *Credentials)
ERRVALUE ReadObjectHeader (GENINFO *ginfo, int HeaderSize, int HeaderType, const CREDENTIALS *Credentials) const
void SetInodeNum (RVCINODENUM inode)
void SetMakeObject (const RVC::OBJECT &rhs)
void SetMakeParms (OBJMAKEPARMS &ObjMakeParms, const RVC::OBJECT &parent, const RVC::DESCRIPTOR &Descriptor, GENINFO *newinfo, int HeaderSize, int HeaderType, const CREDENTIALS *Credentials)
void SetOpenParms (OBJOPENPARMS &ObjOpenParms, const RVC::OBJECT &object, OPENMODE OpenMode, const CREDENTIALS *Credentials)
ERRVALUE SetParent (const OBJITEM &ObjItem)
UINT32 TranslateOpenFlags (OPENMODE flags) const
virtual ERRVALUE v_CopyObject (RVC::OBJECT &DestParentObj, RVC::OBJECT &DestObj, FILTER *filter, COPYFLAGS CopyFlags, const CREDENTIALS *Credentials) const
virtual ERRVALUE v_GetDescriptor (DESCRIPTOR &Descriptor, const CREDENTIALS *Credentials) const

Static Protected Member Functions

static RVCINODENUM GetInodeNum (const RVC::OBJITEM &ObjItem)
static ERRVALUE GetObjItem (const FILEPATH &FilePath, RVCINODENUM InodeNum, OBJITEM &ObjectItem)

Private Member Functions

virtual ERRVALUE v_CloseObject ()
virtual RVC::OBJTYPE v_GetDftObjectType () const
virtual FILTERv_GetObjectFilter () const
virtual ERRVALUE v_GetParent (RVC::OBJECT &ObjParent) const
virtual bool v_IsMultiObject () const
virtual bool v_IsObjectOpen () const
virtual ERRVALUE v_OpenObject (OPENMODE OpenMode, MDLGPARENT parent, const CREDENTIALS *Credentials)
virtual bool v_ValidateObjectType (const RVC::OBJTYPE otype) const

Detailed Description

The base class for all RVC objects.

Defined contract of the RVC Object API system.

The RVC Object API is designed with multiple goals, the goals are defined below

  1. Support for thread safe use of RVC objects. This goal is met using these conditions:
    • RVC Object classes do not allow direct access to information that was previously in rvc object header information. Since data can change in a multi-threaded environment, methods are used to gain information. The removal of access to rvc object headers causes some desirable design changes including:
      1. A base level open method for rvc objects that support an open paradigm. All open functions previously took a header pointer thereby requiring a different open function for each rvc object. This has been rendered moot.
      2. A base level close method for most rvc objects. All close functions took an optional header pointer thereby requiring a different close function for each open rvc object type.
    • Read/Write access must be explicitly defined when opening an rvc object. This allows a multi-threaded implementation to generate 'locks' on rvc objects based on the access requirement.
    • Each instance of a rvc object gets a unique handle to the rvc object that the class represents. Handle management is class based.
  2. Strict hierarchy level of classes to limit errors. This goal is met using these conditions:
    • RVC Object classes determine what rvc object types they can deal with. API's cannot be mixed with this check.
    • Class hierarchies with base classes that support common functionality.
  3. Eliminating the use of RVCINODENUM's to manage RVC objects.
    • RVCINODENUM's are not type safe and can be intermixed between open rvc objects, causing errors.
    • The tendancy of programmers to store RVCINODENUM's in reference files is to be RETIRED. Hiding RVCINODENUM's from code will prevent this action.

Attaching and opening rvc objects.

The construct of attachment and opening comes from the fact that we do not handle exceptions. Therefore error handling is done through return values. Since constructors do not have return values, the constructor set is kept to a minimum. In addition, the concept of closing an rvc object while maintaining knowledge of where the rvc object is needs to be implemented. Therefore two methodologies have been introduced to deal with the requirements:

  1. The concept of attaching the instance to an rvc object using Attach() methods. These methods will validate the attachment by opening the file and locating the rvc object and validate that the derived class is appropriate for the rvc object. The method will close the file after it has accomplished its goal.
  1. Opening the rvc object will perform the same checks as the Attach() method as well as keeping the file open and if possible, opening the derived class rvc object.

Use of the 'const' keyword

The 'const' keyword is used to define methods that do not modify the rvc object. "Const" methods for RVC::OBJECT will open the object using RVC::OBJECT::OPENMODE_Read and perform the operation. Attempting to use a non-open RVC::OBJECT instance for non-const methods will result in the method returning an R_WriteInvalid error.


Member Typedef Documentation


Member Enumeration Documentation

Enumerator:
COPYFLAG_None 

Default, copy subobjects and links.

COPYFLAG_DontCopyChildren 

Do not copy child objects.

COPYFLAG_CopySpatialFromLink 

Copy data from spatial link, not the link itself.

COPYFLAG_CopyDBTableFromLink 

Copy data from DB table link, not the link itself.

COPYFLAG_CopyRVCObjectFromLink 

Copy data from RVC object link, not the link itself.

COPYFLAG_CopyTextFromLink 

Copy data from text link, not the link itself.

COPYFLAG_DontCopyStdAttTables 

Do not copy standard attrib tables.

COPYFLAG_ReportInvalidParent 

Report invalid parent errors.

COPYFLAG_ForceOneObjectCopy 

Force the copy of the most recently used object if the singleton rule is violated.

COPYFLAG_CopyIfNotModifiable 

Copy data from the link, not the link itself, if the data is not modifiable through the link.

COPYFLAG_CopyToEditFormat 

Copy data from the source to an editable format, used for CAD currently.

COPYFLAG_NoUpdateEmbeddedNames 

Don't update embedded name strings to new location.

Enumerator:
DUMPINFOFLAG_Minimal 
DUMPINFOFLAG_Subobjects 
DUMPINFOFLAG_FullHeader 
DUMPINFOFLAG_ObjectData 
DUMPINFOFLAG_Standard 
DUMPINFOFLAG_Maximal 
Enumerator:
LINKFILEFLAG_None 

Get only the link information for the object.

LINKFILEFLAG_SearchChildren 

Get link information for the object and children.

Enumerator:
LOCKSTATE_Unlocked 

Project file does not have any lock upon it, or it is a temp file.

LOCKSTATE_CurrentOpenReadIsWritable 

Current process has the file open for reading and can open for writing.

LOCKSTATE_CurrentOpenReadNotWritable 

Current process has the file open for reading and CANNOT open for writing.

LOCKSTATE_CurrentOpenWrite 

Current process has the file open for writing.

LOCKSTATE_ExternalOpenRead 

Another process has file opened for reading, no lock file.

LOCKSTATE_ExternalOpenWrite 

Another process has file opened for writing, no lock file.

LOCKSTATE_ExternalReadLockFile 

A process has a read lock file for this project file.

LOCKSTATE_ExternalWriteLockFile 

A process has a write lock file for this project file.

Enumerator:
OPENMODE_NotOpen 

Mode for opening rvc files and objects, mutually exclusive.

Returned by GetOpenMode() if the rvc file / object is not open

OPENMODE_Read 

Open file with 'read' access.

OPENMODE_Write 

Open file with 'write' access.

OPENMODE_WriteAttempt 

Attempt to open the file for writing, if failed, open for reading only.

OPENMODE_ReadNoLock 

Open file generating no lock files, used for system resource files.

OPENMODE_WriteAbsolute 

Override ReadAbsolute system flag for a specific file.

OPENMODE_ReadAbsolute 

File is to be opened read-only, no lock file and no possibility of change.

OPENMODE_WriteNoLock 

Open file generating no lock files, used for system resource files.

OPENMODE_ReadNoDialog 

Open file for reading without popping up the lock dialog.

OPENMODE_ReadNoScanAutoLink 

Open for read without doing autolink scanning.

OPENMODE_WriteNoDialog 

Open file for writing without popping up the lock dialog.

Enumerator:
TEMPFILE_DeleteOnClose 
TEMPFILE_DeleteOnExit 

Constructor & Destructor Documentation

RVC::OBJECT::OBJECT ( const RVC::OBJECT obj  ) 

Default constructor.

Copy constructor

Parameters:
obj Copy Constructor
virtual RVC::OBJECT::~OBJECT (  )  [virtual]

Destructor.


Member Function Documentation

void RVC::OBJECT::AssignInfo ( const GENINFO &  info  )  [protected]
void RVC::OBJECT::AssignInode ( RVCINODENUM  inode  )  [protected]
ERRVALUE RVC::OBJECT::Attach ( const RVC::OBJECT twin,
const CREDENTIALS *Credentials  RVC_DEFAULT_CREDENTIALS 
)

Attach an RVC::OBJECT instance to a file using its twin.

This will open the file if the twin's file is open If the derived class cannot handle the rvc object type, the rvc object is not attached and an error is returned

Parameters:
RVC_DEFAULT_CREDENTIALS User credentials passed in, NULL for default behavior
ERRVALUE RVC::OBJECT::Attach ( const RVC::OBJECT source,
const MIUNICODE filename,
const MISTRING ObjectPath,
const CREDENTIALS *Credentials  RVC_DEFAULT_CREDENTIALS 
)

Attach an RVC::OBJECT instance to a file using a source rvc object, possible relative path, and rvc object path.

This will open the file to determine parameter correctness and location of the correct rvc object. If the derived class cannot handle the rvc object type, the rvc object is not attached and an error is returned

Parameters:
source If 'filename' is relative, this specifies the source path
filename Location of rvc file, can be a relative path
ObjectPath Location of rvc object in the rvc file
RVC_DEFAULT_CREDENTIALS User credentials passed in, NULL for default behavior
ERRVALUE RVC::OBJECT::Attach ( const RVC::OBJECT parent,
const RVC::OBJTYPE  ObjType,
const RVC::DESCRIPTOR Descriptor,
const CREDENTIALS *Credentials  RVC_DEFAULT_CREDENTIALS 
)

Attach an OBJECT instance to a file using a parent rvc object, child rvc object type and child descriptor.

This will open the file to determine parameter correctness and locate the correct rvc object. If the derived class cannot handle the rvc object type, the rvc object is not attached and an error is returned

Parameters:
parent Parent object to look for the correct child
ObjType Child rvc object type to attach to
Descriptor Identifier of child rvc object to attach to
RVC_DEFAULT_CREDENTIALS User credentials passed in, NULL for default behavior
ERRVALUE RVC::OBJECT::Attach ( const RVC::OBJECT parent,
const RVC::OBJTYPE  ObjType,
const RVC::OBJECTNAME ShortName,
const CREDENTIALS *Credentials  RVC_DEFAULT_CREDENTIALS 
)

Attach an OBJECT instance to a file using a parent rvc object, child rvc object type and child name.

This will open the file to determine parameter correctness and locate the correct rvc object. If the derived class cannot handle the rvc object type, the rvc object is not attached and an error is returned

Parameters:
parent Parent object to look for the correct child
ObjType Child rvc object type to attach to
ShortName Name of child rvc object to attach to
RVC_DEFAULT_CREDENTIALS User credentials passed in, NULL for default behavior
ERRVALUE RVC::OBJECT::Attach ( const FILEPATH FilePath,
const MISTRING ObjectPath,
const CREDENTIALS *Credentials  RVC_DEFAULT_CREDENTIALS 
)

Attach an OBJECT instance to a file using the FilePath and an rvc object path.

This will open the file to determine parameter correctness and locate the correct rvc object. If the derived class cannot handle the rvc object type, the rvc object is not attached and an error is returned

Parameters:
FilePath Location of project file to open
ObjectPath Location of rvc object in project file to open
RVC_DEFAULT_CREDENTIALS User credentials passed in, NULL for default behavior
ERRVALUE RVC::OBJECT::Attach ( const RVC::OBJITEM ObjItem,
const CREDENTIALS *Credentials  RVC_DEFAULT_CREDENTIALS 
)

Attach an OBJECT instance to a file using an OBJITEM.

This will open the file to determine parameter correctness If the derived class cannot handle the rvc object type, the rvc object is not attached and an error is returned

Parameters:
ObjItem Item containing file and rvc object location to attach to
RVC_DEFAULT_CREDENTIALS User credentials passed in, NULL for default behavior
ERRVALUE RVC::OBJECT::Attach ( const FILEPATH FilePath,
const CREDENTIALS *Credentials  RVC_DEFAULT_CREDENTIALS 
)

Attach an OBJECT instance to a rvc file root folder using a FILEPATH.

This will open the file to determine parameter correctness. If the class is derived, this function will fail and return an error.

Parameters:
FilePath Location of file to attach to
RVC_DEFAULT_CREDENTIALS User credentials passed in, NULL for default behavior
ERRVALUE RVC::OBJECT::AttachLow ( const FILEPATH FilePath,
RVCINODENUM  InodeNum,
OPENMODE  OpenMode,
MDLGPARENT  parent,
const RVC::CREDENTIALS Credentials 
) [protected]
ERRVALUE RVC::OBJECT::AttachToParent ( const RVC::OBJITEM ObjItem,
const CREDENTIALS *Credentials  RVC_DEFAULT_CREDENTIALS 
)

Attach an OBJECT instance to an OBJITEM's parent.

This will open the file to determine parameter correctness If the derived class cannot handle the rvc object type, the rvc object is not attached and an error is returned

Parameters:
ObjItem Item containing file and rvc object location to attach to
RVC_DEFAULT_CREDENTIALS User credentials passed in, NULL for default behavior
bool RVC::OBJECT::CanOpenForWrite (  )  const

Determine if the rvc file can be opened for writing, irregardless of its current open state.

Object must be attached or false is returned This function does not check if another process or thread has a write lock on the file, it determines that the file CAN be opened for writing.

Returns:
true if file is writable and the RVC system allows writing, false if cannot open for write
ERRVALUE RVC::OBJECT::ChangeDescriptor ( const DESCRIPTOR NewDescriptor,
const CREDENTIALS *Credentials  RVC_DEFAULT_CREDENTIALS 
)

Change the rvc object description Object must be open with OPENMODE_Write.

Parameters:
NewDescriptor New description for the object
RVC_DEFAULT_CREDENTIALS User credentials passed in, NULL for default behavior
ERRVALUE RVC::OBJECT::ChangeObjectLink ( const FILEPATH Filename,
const MISTRING ObjName,
const CREDENTIALS *Credentials  RVC_DEFAULT_CREDENTIALS 
)

Change the rvc object that this object is linked to Object must be open with OPENMODE_Write.

Parameters:
RVC_DEFAULT_CREDENTIALS User credentials passed in, NULL for default behavior
ERRVALUE RVC::OBJECT::ChangeSource ( const RVC::OBJECTSOURCE NewSource,
const CREDENTIALS *Credentials  RVC_DEFAULT_CREDENTIALS 
)

Change the rvc object source Object must be open with OPENMODE_Write.

Parameters:
NewSource New source name for the object
RVC_DEFAULT_CREDENTIALS User credentials passed in, NULL for default behavior
ERRVALUE RVC::OBJECT::ChangeTempFileMode ( TEMPFILE  flags  ) 

Change the temp file mode to TEMPFILE_DeleteOnClose or TEMPFILE_DeleteOnExit.

ITERATOR RVC::OBJECT::ChildListBegin ( RVC::OBJTYPE  m_ObjType  ) 

Obtain a rvc child object iterator given an rvc object type.

This iterator can be used to step through all of the children of 'this'.

Returns:
An iterator to the first child that meets the specifications
Parameters:
m_ObjType Get iterator to the beginning of the child list Object type of children to search for
CONST_ITERATOR RVC::OBJECT::ChildListBegin ( RVC::OBJTYPE  m_ObjType  )  const

Obtain a const rvc child object iterator given an rvc object type.

This iterator can be used to step through all of the children of 'this'.

Returns:
A constant iterator to the first child that meets the specifications
Parameters:
m_ObjType Get iterator to the beginning of the child list Object type of children to search for
ITERATOR RVC::OBJECT::ChildListEnd (  ) 

Obtain a rvc child object iterator that points to the end of the list.

Returns:
An iterator to the end of the child list
CONST_ITERATOR RVC::OBJECT::ChildListEnd (  )  const

Obtain a const rvc child object iterator that points to the end of the list.

Returns:
A constant iterator to the end of the child list
ERRVALUE RVC::OBJECT::Close (  ) 

Close the rvc object.

Will close the file and the rvc object if the derived class supports the paradigm. The instance is still considered attached.

ERRVALUE RVC::OBJECT::CloseFile (  )  [protected]
INT64 RVC::OBJECT::ComputeProjectFileFreeSpace ( const CREDENTIALS *Credentials  RVC_DEFAULT_CREDENTIALS  )  const

Compute project file free space.

Returns:
Amount of project file free space
Parameters:
RVC_DEFAULT_CREDENTIALS User credentials passed in, NULL for default behavior
ERRVALUE RVC::OBJECT::CopyChildrenTo ( RVC::OBJECT DestParentObj,
FILTER filter,
COPYFLAGS  CopyFlags = COPYFLAG_None,
const CREDENTIALS *Credentials  RVC_DEFAULT_CREDENTIALS 
) const

Copy rvc object's children to the given destination parent object with filter.

Parameters:
DestParentObj Parent to copy children to.
filter Method called with an rvc object to determine fitness to copy
RVC_DEFAULT_CREDENTIALS User credentials passed in, NULL for default behavior
ERRVALUE RVC::OBJECT::CopyChildrenTo ( RVC::OBJECT DestParentObj,
COPYFLAGS  CopyFlags = COPYFLAG_None,
const CREDENTIALS *Credentials  RVC_DEFAULT_CREDENTIALS 
) const

Copy rvc object's children to the given destination parent object.

Parameters:
DestParentObj Parent to copy children to.
RVC_DEFAULT_CREDENTIALS User credentials passed in, NULL for default behavior
void RVC::OBJECT::CopyObject ( const RVC::OBJECT rhs  )  [protected]
ERRVALUE RVC::OBJECT::CopyTo ( RVC::OBJECT DestParentObj,
RVC::OBJECT DestObj,
FILTER filter,
const DESCRIPTOR Descriptor,
COPYFLAGS  CopyFlags = COPYFLAG_None,
const CREDENTIALS *Credentials  RVC_DEFAULT_CREDENTIALS 
) const

Make a copy of the rvc object, and its children, to another place specified by the destination parent object.

Does not copy DBTABLE objects. Use RVC::DBASE::CopyTableTo() method.

Parameters:
DestParentObj Parent object to copy object and children to
DestObj Attached instance to destination object
filter Method called with an rvc object to determine fitness to copy
Descriptor New name of copied object
RVC_DEFAULT_CREDENTIALS User credentials passed in, NULL for default behavior
ERRVALUE RVC::OBJECT::CopyTo ( RVC::OBJECT DestParentObj,
RVC::OBJECT DestObj,
FILTER filter,
COPYFLAGS  CopyFlags = COPYFLAG_None,
const CREDENTIALS *Credentials  RVC_DEFAULT_CREDENTIALS 
) const

Make a copy of the rvc object, and its children, to another place specified by the destination parent object.

Does not copy DBTABLE objects. Use RVC::DBASE::CopyTableTo() method.

Parameters:
DestParentObj Parent object to copy object and children to
DestObj Attached instance to destination object
filter Method called with an rvc object to determine fitness to copy
RVC_DEFAULT_CREDENTIALS User credentials passed in, NULL for default behavior
ERRVALUE RVC::OBJECT::CopyTo ( RVC::OBJECT DestParentObj,
RVC::OBJECT DestObj,
const DESCRIPTOR Descriptor,
COPYFLAGS  CopyFlags = COPYFLAG_None,
const CREDENTIALS *Credentials  RVC_DEFAULT_CREDENTIALS 
) const

Make a copy of the rvc object, and its children, to another place specified by the destination parent object.

Does not copy DBTABLE objects. Use RVC::DBASE::CopyTableTo() method.

Parameters:
DestParentObj Parent object to copy object and children to
DestObj Attached instance to destination object
Descriptor New name of copied object
RVC_DEFAULT_CREDENTIALS User credentials passed in, NULL for default behavior
ERRVALUE RVC::OBJECT::CopyTo ( RVC::OBJECT DestParentObj,
RVC::OBJECT DestObj,
COPYFLAGS  CopyFlags = COPYFLAG_None,
const CREDENTIALS *Credentials  RVC_DEFAULT_CREDENTIALS 
) const

Make a copy of the rvc object, and its children, to another place specified by the destination parent object.

Does not copy DBTABLE objects. Use RVC::DBASE::CopyTableTo() method.

Parameters:
DestParentObj Parent object to copy object and children to
DestObj Attached instance to destination object
RVC_DEFAULT_CREDENTIALS User credentials passed in, NULL for default behavior
ERRVALUE RVC::OBJECT::Delete ( const CREDENTIALS *Credentials  RVC_DEFAULT_CREDENTIALS  ) 

Delete the rvc object.

The method will call Close().

For this function to work correctly, ALL instances that refer to this object must be closed. This method does not support delete when all closed paradigm.

Parameters:
RVC_DEFAULT_CREDENTIALS Delete the RVC::OBJECT User credentials passed in, NULL for default behavior
void RVC::OBJECT::Detach (  ) 

Detach instance from RVC object Will close the object and file.

ERRVALUE RVC::OBJECT::DumpObjectInfo ( MISTRING LogString,
DUMPINFOFLAGS  DumpInfoFlags = DUMPINFOFLAG_Minimal,
const CREDENTIALS *Credentials  RVC_DEFAULT_CREDENTIALS 
)

Dump object information into a MISTRING reference.

Parameters:
DumpInfoFlags Controls how much information is placed into LogString'
RVC_DEFAULT_CREDENTIALS User credentials passed in, NULL for default behavior
static void RVC::OBJECT::DumpOpenFileList ( MISTRING result,
bool  IncludeOpenObjects = true 
) [static]

Dump list of all currently open files and objects.

bool RVC::OBJECT::FindChild ( RVC::OBJECT Child,
const RVC::DESCRIPTOR Descriptor,
FILTER filter 
) const

Locate rvc child object based on rvc child default object type, given name, and a filter object This routine determines the derived class default rvc object type and uses that for its search.

The DESCRIPTOR::GetShortName() is used first, if no matches found, then the DESCRIPTOR::GetFullName() is searched on. Object must be attached for this method to work. Returns false if not

Returns:
true if rvc object found and child sucessfully attached, false if not
Parameters:
Child Child object attached if found
filter Method called with an rvc object to determine child fitness
bool RVC::OBJECT::FindChild ( RVC::OBJECT Child,
const RVC::DESCRIPTOR Descriptor 
) const

Locate rvc child object based on rvc child default object type and given name This routine determines the derived class default rvc object type and uses that for its search.

The DESCRIPTOR::GetShortName() is used first, if no matches found, then the DESCRIPTOR::GetFullName() is searched on. Object must be attached for this method to work. Returns false if not

Returns:
true if rvc object found and child sucessfully attached, false if not
Parameters:
Child Child object attached if found
bool RVC::OBJECT::FindChild ( RVC::OBJECT Child,
const MISTRING ObjectPath 
) const

Locate rvc child object based on object path.

This routine locates the proper rvc object using the child's filepath and the rvc object path. Object must be attached for this method to work. Returns false if not

Returns:
true if rvc object found and child sucessfully attached, false if not
Parameters:
Child Find child RVC::OBJECT by RVC Object Path, if exists Child object attached if found
ObjectPath RVC object path to look for child with
bool RVC::OBJECT::FindChild ( RVC::OBJECT Child,
const RVC::OBJECTNAME name,
FILTER filter 
) const

Locate rvc child object based on rvc child default object type, given name, and a filter object.

This routine determines the derived class default rvc object type and uses that for its search. Object must be attached for this method to work. Returns false if not

Returns:
true if rvc object found and child sucessfully attached, false if not
Parameters:
Child Find child RVC::OBJECT by RVC::OBJECTNAME and filter, if exists Child object attached if found
name Name of rvc child object to find
filter Method called with an rvc object to determine child fitness
bool RVC::OBJECT::FindChild ( RVC::OBJECT Child,
const RVC::OBJECTNAME name 
) const

Locate rvc child object based on rvc child default object type and given name.

This routine determines the derived class default rvc object type and uses that for its search. Object must be attached for this method to work. Returns false if not

Returns:
true if rvc object found and child sucessfully attached, false if not
Parameters:
Child Find child RVC::OBJECT by RVC::OBJECTNAME, if exists Child object attached if found
name Name of rvc child object to find
bool RVC::OBJECT::FindChildLastUsed ( RVC::OBJECT Child,
FILTER filter 
) const

Locate last used rvc child object based on child rvc object type and a filter object This routine determines the derived class default rvc object type and uses that for its search.

Object must be attached for this method to work. Returns false if not

Returns:
true if rvc object found and child sucessfully attached, false if not
Parameters:
Child Last used RVC::OBJECT if found assigned to "Child" Child object attached if found
filter Method called with an rvc object to determine fitness
bool RVC::OBJECT::FindChildLastUsed ( RVC::OBJECT Child  )  const

Locate last used rvc child object based on child rvc object type This routine determines the derived class default rvc object type and uses that for its search.

Object must be attached for this method to work. Returns false if not

Returns:
true if rvc object found and child sucessfully attached, false if not
Parameters:
Child Last used RVC::OBJECT if found assigned to "Child" RVC Child object attached if found
ERRVALUE RVC::OBJECT::FlushFile (  ) 

Update file information stored in caches to the file itself.

static ERRVALUE RVC::OBJECT::GenerateLockNames ( const FILEPATH SourceFile,
FILEPATH lokfilepath,
FILEPATH kolfilepath = 0 
) [static]

Generate lock file names for given source file.

This checks if the specified 'SourceFile' is actually an RVC file and if not, will determine if it is a supported auto-link format. If supported then the lok filepath will be based on the name and location of the RVC file (.rlk) which links to the specifed 'SourceFile'.

Parameters:
SourceFile Source file path, may be RVC or "external" auto-linked file.
lokfilepath Name of .lok file returned
kolfilepath Optional .kol file returned
static ERRVALUE RVC::OBJECT::GenerateUniqueDescriptor ( RVC::DESCRIPTOR Descriptor,
UNIQUENAMEFILTER filter 
) [static]

Generate a unique object name based on the passed in filter.

static ERRVALUE RVC::OBJECT::GenerateUniqueName ( RVC::OBJECTNAME name,
UNIQUENAMEFILTER filter 
) [static]

Generate a unique object name based on the passed in filter.

static ERRVALUE RVC::OBJECT::GetAutoLinkCachePath ( FILEPATH rvcfilepath,
const FILEPATH extfilepath 
) [static]

Get the link file location for an auto-link file in the auto-link cache.

static void RVC::OBJECT::GetAutoLinkLocalPath ( FILEPATH rvcfilepath,
const FILEPATH extfilepath 
) [static]

Get the link file name for an auto-link file.

static void RVC::OBJECT::GetAutoLinkPatternList ( const OBJTYPESET objtypeset,
MISTRINGLIST patternlist 
) [static]

Get file name pattern list for automatic linking for specified object types.

Parameters:
objtypeset Object types to determine patterns for
patternlist Name search pattern list returned
INT32 RVC::OBJECT::GetChildCount ( RVC::OBJTYPE  otype,
FILTER filter 
) const

Determine the number of children under this rvc object.

Object must be opened for this method to work

Returns:
number of children found
Parameters:
otype Type of rvc object to count, RVC::OBJTYPE_All to count all children
filter Method called with an rvc object to determine fitness
INT32 RVC::OBJECT::GetChildCount ( RVC::OBJTYPE  otype = RVC::OBJTYPE_All  )  const

Determine the number of children under this rvc object.

Object must be opened for this method to work

Returns:
number of children found
Parameters:
otype Type of rvc object to count, RVC::OBJTYPE_All to count all children
INT32 RVC::OBJECT::GetChildList ( RVC::OBJTYPE  ObjType,
RVC::OBJITEMLIST ObjItemList,
FILTER filter = 0 
) const

Determine the number of children under this rvc object.

Object must be opened for this method to work

Returns:
number of children found
Parameters:
ObjType Type of rvc object to count, RVC::OBJTYPE_All to count all children
ObjItemList List of children RETURNED
filter Method called with an rvc object to determine fitness
static char RVC::OBJECT::GetChildSeparator (  )  [inline, static]

Get the separator used between the parent and child in the GetObjectPath()'s 'ObjectPath' string.

Returns:
Character that separates the child identifier from the parent identifier in the object path string
const CREDENTIALS& RVC::OBJECT::GetCredentials (  )  const [inline]

Get the credentials used to open this instance.

Returns:
The credentials used to open this instance
ERRVALUE RVC::OBJECT::GetDescriptor ( RVC::DESCRIPTOR Descriptor,
const CREDENTIALS *Credentials  RVC_DEFAULT_CREDENTIALS 
) const

Obtain the rvc object name The object must be opened for this method to work.

Parameters:
Descriptor Object identifier RETURNED
RVC_DEFAULT_CREDENTIALS User credentials passed in, NULL for default behavior
RVC::OBJTYPE RVC::OBJECT::GetDftObjectType (  )  const

Obtain the default object type for the object instance.

Returns:
The default object type for 'this'. The default value is RVC::OBJTYPE_File.
static ERRVALUE RVC::OBJECT::GetExternalFileDescription ( const FILEPATH extfilepath,
MISTRING description 
) [static]

Get the description for external auto-linkable file.

Does not create the RVC link file.

Parameters:
extfilepath Path to external (non-RVC) file
description Description returned
static ERRVALUE RVC::OBJECT::GetExternalProjectFileLink ( const FILEPATH extfilepath,
FILEPATH ProjectFileLink 
) [static]

Get the project link file that cooresponds to the auto-link file.

Parameters:
extfilepath Path to external (non-RVC) file
ProjectFileLink Empty if no file exists
RVC::FILEHANDLE* RVC::OBJECT::GetFileInstance (  )  const [protected]

Get the RVC file handle associated with this RVCRVC::OBJECT instance The instance must be open to get a valid handle.

static ERRVALUE RVC::OBJECT::GetFileObjItem ( const FILEPATH Filename,
RVC::OBJITEM ObjItem,
const CREDENTIALS *Credentials  RVC_DEFAULT_CREDENTIALS 
) [static]

Fill in the 'ObjItem' based on 'Filename'.

This method will handle checks for valid project file and if an auto-linkable file, get its description and put it in the ObjItem DESCRIPTOR without doing an actual auto-link. The 'ObjItem' will only be attached if it is an actual project file.

Parameters:
RVC_DEFAULT_CREDENTIALS User credentials passed in, NULL for default behavior
const FILEPATH& RVC::OBJECT::GetFilePath (  )  const

Get the FILEPATH associated with this RVC::OBJECT instance.

Returns:
The filepath associated with this object. FILEPATH will be empty if the object is not attached
const FILEPATH& RVC::OBJECT::GetFilePathLink (  )  const

Get the FILEPATH linked file associated with this RVC::OBJECT instance.

Returns:
The filepath linked file associated with this object. FILEPATH will be empty if the object link is not attached
static RVCINODENUM RVC::OBJECT::GetInodeNum ( const RVC::OBJITEM ObjItem  )  [static, protected]

Get the RVCINODENUM associated with this RVC::OBJECT instance.

Returns:
Internal inode number
Parameters:
ObjItem OBJITEM to get the inode from
DEPRECATED RVCINODENUM RVC::OBJECT::GetInodeNum (  )  const [inline]

Get the RVCINODENUM associated with this RVC::OBJECT instance /deprecated Use other RVC wrapper classes.

RVCINODENUM RVC::OBJECT::GetInodeNumPro (  )  const [protected]

Get the RVCINODENUM associated with this RVC::OBJECT instance.

Returns:
Internal inode number
ERRVALUE RVC::OBJECT::GetLinkedFiles ( LINKITEMLIST LinkFileList,
LINKFILEFLAGS  LinkFileFlags = LINKFILEFLAG_None,
const CREDENTIALS *Credentials  RVC_DEFAULT_CREDENTIALS 
) const

Obtain link file information for this object and/or children.

Parameters:
RVC_DEFAULT_CREDENTIALS User credentials passed in, NULL for default behavior
ERRVALUE RVC::OBJECT::GetMetadata ( SIMPLE_ARRAY< UINT8 > &  buffer,
const CREDENTIALS *Credentials  RVC_DEFAULT_CREDENTIALS 
) const
Parameters:
RVC_DEFAULT_CREDENTIALS User credentials passed in, NULL for default behavior
static const char* RVC::OBJECT::GetObjectIconName ( OBJTYPE  ObjType  )  [static]

Obtain the icon name that goes with the OBJTYPE.

Returns:
The icon name associated wit the object type, DO NOT FREE
DEPRECATED ERRVALUE RVC::OBJECT::GetObjectItem ( RVC::OBJITEM ObjectItem  )  const

Fill in the RVC::OBJITEM for the location of this object.

The object must be attached for this method to work

Parameters:
ObjectItem Object Item RETURNED
ERRVALUE RVC::OBJECT::GetObjectPath ( MISTRING ObjectPath  )  const

Determine the RVC Object Path from the root to this object.

The object must be attached for this method to work This rvc object path is defined to be a MIUNICODE string containing the heirarchy from the file root rvc object to the rvc object referenced by this instance. It is used in specific Attach() and Open() methods.

Parameters:
ObjectPath Path to the rvc object from the root(file) rvc object.
static const char* RVC::OBJECT::GetObjectTagFromObjectType ( RVC::OBJTYPE  ObjType  )  [static]

Obtain object tag from the object type given.

Returns:
The tag string used in the object path to denote the object type, DO NOT FREE
RVC::OBJTYPE RVC::OBJECT::GetObjectType (  )  const

Get the RVC::OBJTYPE_.

.. associated with this RVC::OBJECT instance

Returns:
The RVC::OBJTYPE_...associated with this object.
static RVC::OBJTYPE RVC::OBJECT::GetObjectTypeFromTag ( const MIUNICODE tag  )  [static]

Obtain object type from defined tag.

Returns:
The RVC::OBJTYPE_...associated with this tag
static RVC::OBJTYPE RVC::OBJECT::GetObjectTypeFromTag ( const char *  tag  )  [static]

Obtain object type from defined tag.

Returns:
The RVC::OBJTYPE_...associated with this tag
static ERRVALUE RVC::OBJECT::GetObjItem ( const FILEPATH FilePath,
RVCINODENUM  InodeNum,
OBJITEM ObjectItem 
) [static, protected]

Fill in the RVC::OBJITEM for the location of 'FilePath' and 'InodeNum'.

Parameters:
ObjectItem Object Item RETURNED
ERRVALUE RVC::OBJECT::GetObjItem ( RVCINODENUM  InodeNum,
OBJITEM ObjectItem 
) const [protected]

Fill in the RVC::OBJITEM for the location of 'InodeNum' and the project filepath of 'this'.

The object must be attached for this method to work

Parameters:
InodeNum Inode number of a different object in the same file
ObjectItem Object Item RETURNED
ERRVALUE RVC::OBJECT::GetObjItem ( RVC::OBJITEM ObjectItem  )  const

Fill in the RVC::OBJITEM for the location of this object.

The object must be attached for this method to work

Parameters:
ObjectItem Object Item RETURNED
OPENMODE RVC::OBJECT::GetOpenMode (  )  const [protected]

Obtain current open mode for this rvc object instance.

Used in copy constructors and assignment operators of derived classes to open the rvc object using the same OPENMODE as the 'rhs' rvc object instance

Returns:
Open mode of rvc object instance
ERRVALUE RVC::OBJECT::GetParent ( RVC::OBJECT ObjParent  )  const [inline]

Obtain the parent rvc object.

If the rvc object is RVC::OBJTYPE_File, the parent rvc object returned is the same as the rvc object

Parameters:
ObjParent Parent object attached if sucessful
ERRVALUE RVC::OBJECT::GetParentStack ( RVC::OBJITEMLIST ParentStack  )  const

Obtain the parent stack list.

The list is generated in order of file, parent, parent, ..., this object.

Parameters:
ParentStack Parent object attached if sucessful
ERRVALUE RVC::OBJECT::GetProductVersion ( UINT16 ProductVersion  )  const

Obtain the product version number which this rvc object was created.

Parameters:
ProductVersion TNT product version in the form of MMmm (M - Major, m - minor) RETURNED
static LOCKSTATE RVC::OBJECT::GetProjectFileLockState ( const FILEPATH ProjectFile,
const CREDENTIALS *Credentials  RVC_DEFAULT_CREDENTIALS 
) [static]

Determine the current project file lock state.

Returns:
The lock state of the project file at the time this method was called
Parameters:
RVC_DEFAULT_CREDENTIALS User credentials passed in, NULL for default behavior
ERRVALUE RVC::OBJECT::GetSize ( UINT64 size  )  const

Obtain the size of this rvc object in bytes.

Parameters:
size Size of opened rvc object RETURNED
ERRVALUE RVC::OBJECT::GetSource ( RVC::OBJECTSOURCE Source  )  const

Obtain the creation source string for this rvc object.

Parameters:
Source RVC Object creation source name RETURNED
static TEXTID RVC::OBJECT::GetTextIDFromObjectType ( OBJTYPE  ObjType  )  [static]

Obtain TEXTID from defined object type.

Returns:
The TEXTID associated with the RVC::OBJTYPE_...
void RVC::OBJECT::GetTimeCreate ( DATETIME Create  )  const

Obtain the creation time for this rvc object.

The Object must be opened for this method to work

Parameters:
Create Creation time RETURNED
ERRVALUE RVC::OBJECT::GetTimeLastMod ( DATETIME LastMod  )  const

Obtain the Last Modified Time for this rvc object.

The Object must be opened for this method to work

Parameters:
LastMod Last modified time RETURNED
ERRVALUE RVC::OBJECT::GetTimeLastUsed ( DATETIME LastUsed  )  const

Obtain the Last Used Time for this rvc object.

The Object must be opened for this method to work

Parameters:
LastUsed Last used time RETURNED
static char RVC::OBJECT::GetTypeSeparator (  )  [inline, static]

Get the separator used between the object name and the object type for each object in the GetObjectPath()'s 'ObjectPath' string.

Returns:
Character that separates the object name from the object type in the object path string
INT32 RVC::OBJECT::GetUndoNumLevels (  )  const

Get the number of available undo levels.

Returns:
Number of available undo levels
bool RVC::OBJECT::IsAttached (  )  const

Is this RVC::OBJECT attached to a RVC object?

bool RVC::OBJECT::IsChildOf ( const RVC::OBJECT parent  )  const

Is this RVC::OBJECT a child of the given parent?

Parameters:
parent Parent object to test
static bool RVC::OBJECT::IsCopyable ( RVC::OBJTYPE  ObjType  )  [static]

Is this RVC::OBJTYPE copyable?

bool RVC::OBJECT::IsEqual ( const RVC::OBJECT rhs  )  const

Do the two rvc object instances refer to the same RVC object? If either are unattached, this method returns false.

Parameters:
rhs RVC Object to compare to
bool RVC::OBJECT::IsFileLinked (  )  const

Is the file a link file or not.

Returns:
True if the file is linked, false if not
bool RVC::OBJECT::IsFileObject (  )  const

Is this rvc object a root file rvc object?

bool RVC::OBJECT::IsFileOpen (  )  const [protected]
bool RVC::OBJECT::IsLiteCreated (  )  const

Is the object / file created by TNTlite.

Returns:
True if the object / file is created by TNTlite, false if not
bool RVC::OBJECT::IsObjectLinked (  )  const

Is the object a link object or not.

Returns:
True if the object is linked, false if not
bool RVC::OBJECT::IsObjectOpen ( const OBJECT Object  )  const [protected]
bool RVC::OBJECT::IsOlderThan ( const RVC::OBJECT Object  )  const

Is the object older than the passed in object, using the last modified timestamp.

Returns:
True if 'this' is older than 'Object', false if not
bool RVC::OBJECT::IsOpen (  )  const

Determine if rvc object is opened.

Returns:
True if rvc object is opened
static bool RVC::OBJECT::IsSystemInitialized (  )  [static]

Determine if the RVC project file system is initialized.

Returns:
'True' if initialized, 'false' if not
bool RVC::OBJECT::IsTempFile (  )  const

Determine if the attached rvc file is a temporary file.

Returns:
True if file is temporary, False if not
bool RVC::OBJECT::IsTopObject (  )  const

Is this rvc object a child of a folder or the root file rvc object?

ERRVALUE RVC::OBJECT::IsValidParent ( const RVC::OBJECT DestParentObj  )  const

Determine if 'this' is a valid child object of 'DestParentObj'.

Both 'this' and 'DestParentObj' must exist as actual RVC objects

Returns:
'0' if parent is valid, <0 if not, use GetErrString() to determine why
static bool RVC::OBJECT::IsValidProjectFile ( const FILEPATH filename  )  [static]

Determine that the file 'filename' is a valid project file.

Returns:
'True' if a valid project file, 'false' if not
bool RVC::OBJECT::IsWritable (  )  const

Is the rvc object opened for writing.

Reimplemented in RVC::DBTABLE.

ERRVALUE RVC::OBJECT::MakeFile ( const FILEPATH FilePath,
const MISTRING desc 
)

Create a RVC file.

This method will create a project (RVC) file using the given location

Parameters:
FilePath Place to create the file
desc Description to give the file
ERRVALUE RVC::OBJECT::MakeLink ( const RVC::OBJECT LinkToObject,
RVC::OBJECT NewLinkObject,
const DESCRIPTOR Descriptor,
bool  LinkToSubobjects = false,
const CREDENTIALS *Credentials  RVC_DEFAULT_CREDENTIALS 
)

Create a RVC link object under 'this'.

This method will create a linked object (NewLinkObject) to an existing RVC object (LinkToObject)

Parameters:
NewLinkObject Only attached to the new link, not opened
RVC_DEFAULT_CREDENTIALS User credentials passed in, NULL for default behavior
ERRVALUE RVC::OBJECT::MakeLink ( const RVC::OBJECT LinkToObject,
RVC::OBJECT NewLinkObject,
bool  LinkToSubobjects = false,
const CREDENTIALS *Credentials  RVC_DEFAULT_CREDENTIALS 
)

Create a RVC link object under 'this'.

This method will create a linked object (NewLinkObject) to an existing RVC object (LinkToObject)

Parameters:
NewLinkObject Only attached to the new link, not opened
RVC_DEFAULT_CREDENTIALS User credentials passed in, NULL for default behavior
ERRVALUE RVC::OBJECT::MakeTempFile ( TEMPFILE  flags = TEMPFILE_DeleteOnClose  ) 

Create a RVC file as a temporary file.

This method will create a temporary RVC file using the temporary file path with the largest free space.

Parameters:
flags Determines if to delete the temp file on closing of the file, or when the process ends
ERRVALUE RVC::OBJECT::MoveTo ( RVC::OBJECT DestParentObj,
FILTER filter,
COPYFLAGS  CopyFlags = COPYFLAG_None,
const CREDENTIALS *Credentials  RVC_DEFAULT_CREDENTIALS 
)

Move object referenced by 'this' from its current parent to its new parent 'DestParentObj'.

The new parent must be in the same file as the current parent. Does not perform a copy of the object; just adjusts the parent inode. Move 'this' from its current parent to its new parent 'DestParentObj'. Does not copy DBTABLE objects. Use RVC::DBASE::CopyTableTo() method.

Parameters:
DestParentObj Parent object to copy object and children to
filter Method called with an rvc object to determine fitness to move
RVC_DEFAULT_CREDENTIALS User credentials passed in, NULL for default behavior
ERRVALUE RVC::OBJECT::MoveTo ( RVC::OBJECT DestParentObj,
COPYFLAGS  CopyFlags = COPYFLAG_None,
const CREDENTIALS *Credentials  RVC_DEFAULT_CREDENTIALS 
)

Move object referenced by 'this' from its current parent to its new parent 'DestParentObj'.

The new parent must be in the same file as the current parent. Does not perform a copy of the object; just adjusts the parent inode. Does not move DBTABLE objects. Use RVC::DBASE::CopyTableTo() method.

Parameters:
DestParentObj Parent object to move object and children to
RVC_DEFAULT_CREDENTIALS User credentials passed in, NULL for default behavior
bool RVC::OBJECT::NeedNewerThanParent ( const CREDENTIALS *Credentials  RVC_DEFAULT_CREDENTIALS  ) 

Determine if the rvc object that this instance is attached to requires that it be newer than its parent object.

Returns:
'True' if parent needs to be older than this object, 'false' if not.
Parameters:
RVC_DEFAULT_CREDENTIALS User credentials passed in, NULL for default behavior
ERRVALUE RVC::OBJECT::Open ( const RVC::OBJECT source,
const MIUNICODE filename,
const MISTRING ObjectPath,
OPENMODE  OpenMode = OPENMODE_Read,
MDLGPARENT  widget = 0,
const CREDENTIALS Credentials = 0 
)

Open an RVC::OBJECT instance using a source rvc object, possible relative path, and rvc object path.

This method will attach and open the file and derived rvc class object if possible

Parameters:
source Source rvc object used if 'filename' is a relative path
filename Full or relative path to the rvc file to open
ObjectPath Full name of rvc object obtained from GetObjectPath()
OpenMode Mode in which to open the rvc object
widget Parent dialog handle, 0 for default handle
Credentials User credentials passed in, NULL for default behavior
ERRVALUE RVC::OBJECT::Open ( const FILEPATH FilePath,
const MISTRING ObjectPath,
OPENMODE  OpenMode = OPENMODE_Read,
MDLGPARENT  widget = 0,
const CREDENTIALS Credentials = 0 
)

Open an RVC::OBJECT instance using the given file location and rvc object path.

This method will attach and locate the rvc object and open the file and derived rvc class object if possible

Parameters:
FilePath Location of file to open
ObjectPath Full name of rvc object obtained from GetObjectPath()
OpenMode Mode in which to open the rvc object
widget Parent dialog handle, 0 for default handle
Credentials User credentials passed in, NULL for default behavior
ERRVALUE RVC::OBJECT::Open ( const RVC::OBJITEM ObjItem,
OPENMODE  OpenMode = OPENMODE_Read,
MDLGPARENT  widget = 0,
const CREDENTIALS Credentials = 0 
)

Open an RVC::OBJECT instance using a RVC::OBJITEM instance.

This method will attach and open the file and derived rvc class object if possible

Parameters:
ObjItem This contains the file and rvc object location information
OpenMode Mode in which to open the rvc object
widget Parent dialog handle, 0 for default handle
Credentials User credentials passed in, NULL for default behavior

Reimplemented in RVC::DBTABLE.

ERRVALUE RVC::OBJECT::Open ( const FILEPATH FilePath,
OPENMODE  OpenMode = OPENMODE_Read,
MDLGPARENT  widget = 0,
const CREDENTIALS Credentials = 0 
)

Open an RVC::OBJECT instance to a rvc root folder using the given file location.

This method will attach and open the file If the class is derived, this function will fail and return an error.

Parameters:
FilePath Location of file to attach to
OpenMode Mode in which to open the rvc object
widget Parent dialog handle, 0 for default handle
Credentials User credentials passed in, NULL for default behavior
ERRVALUE RVC::OBJECT::Open ( const RVC::OBJECT parent,
const RVC::OBJTYPE  ObjType,
const RVC::DESCRIPTOR Descriptor,
OPENMODE  OpenMode = OPENMODE_Read,
MDLGPARENT  widget = 0,
const CREDENTIALS Credentials = 0 
)

Open an RVC::OBJECT instance using the rvc object's parent, type of rvc object, and the rvc object's name.

This method will attach and locate the rvc object and open the file and derived rvc class object if possible

Parameters:
parent Parent rvc object to search under
ObjType Type of rvc object to look for
OpenMode Mode in which to open the rvc object
widget Parent dialog handle, 0 for default handle
Credentials User credentials passed in, NULL for default behavior
ERRVALUE RVC::OBJECT::Open ( const RVC::OBJECT twin,
OPENMODE  OpenMode = OPENMODE_Read,
MDLGPARENT  widget = 0,
const CREDENTIALS Credentials = 0 
)

Open an RVC::OBJECT instance using another instance to the same rvc object.

This method will attach and open the file and derived rvc class object if possible. Use this method to re-open the rvc object using a different OPENMODE.

Parameters:
twin Identical rvc object to open with a different OPENMODE
OpenMode Mode in which to open the rvc object
widget Parent dialog handle, 0 for default handle
Credentials User credentials passed in, NULL for default behavior

Reimplemented in RVC::DBTABLE.

ERRVALUE RVC::OBJECT::Open ( OPENMODE  OpenMode = OPENMODE_Read,
MDLGPARENT  widget = 0,
const CREDENTIALS Credentials = 0 
)

Open an attached RVC::OBJECT instance.

This method will open the file and derived rvc class object if possible If the instance is already open and the OPENMODE is not different, this method will return without doing anything, else it will Close() then Open() the instance. The instance must be attached for this to work

Parameters:
OpenMode Mode in which to open the rvc object
widget Parent dialog handle, 0 for default handle
Credentials User credentials passed in, NULL for default behavior

Reimplemented in RVC::DBTABLE.

ERRVALUE RVC::OBJECT::OpenFile ( OPENMODE  OpenMode,
MDLGPARENT  parent,
const CREDENTIALS Credentials 
) [protected]
Parameters:
OpenMode Open file only
Credentials User credentials passed in, NULL for default behavior
ERRVALUE RVC::OBJECT::OpenParent ( const RVC::OBJITEM ObjItem,
OPENMODE  OpenMode = OPENMODE_Read,
MDLGPARENT  widget = 0,
const CREDENTIALS Credentials = 0 
)

Open a parent of an RVC::OBJECT instance using a RVC::OBJITEM instance This method will attach and open the file and derived rvc class object if possible.

Parameters:
ObjItem This contains the file and rvc object location information
OpenMode Mode in which to open the rvc object
widget Parent dialog handle, 0 for default handle
Credentials User credentials passed in, NULL for default behavior
ERRVALUE RVC::OBJECT::OpenRVCFile ( const FILEPATH filepath,
OPENMODE  OpenMode,
MDLGPARENT  parent,
const CREDENTIALS Credentials 
) [protected]
RVC::OBJECT::operator RVC::OBJITEM (  )  const

Conversion operator to pass RVC::OBJECT and derivatives to methods that require RVC::OBJITEM.

RVC::OBJECT& RVC::OBJECT::operator= ( const RVC::OBJECT rhs  ) 
static ERRVALUE RVC::OBJECT::PackProjectFile ( const FILEPATH ProjectFile,
const CREDENTIALS *Credentials  RVC_DEFAULT_CREDENTIALS 
) [static]

Pack Project File.

Removes the free space present in the project file.

Parameters:
RVC_DEFAULT_CREDENTIALS User credentials passed in, NULL for default behavior
ERRVALUE RVC::OBJECT::ReadObjectHeader ( GENINFO *  ginfo,
int  HeaderSize,
int  HeaderType,
const CREDENTIALS Credentials 
) const [protected]
ERRVALUE RVC::OBJECT::RecoverProjectFileTo ( RVC::OBJECT OutputObject,
MISTRING LogString,
const CREDENTIALS *Credentials  RVC_DEFAULT_CREDENTIALS 
)

Perform project file recovery to the output object specified.

Parameters:
RVC_DEFAULT_CREDENTIALS User credentials passed in, NULL for default behavior
ERRVALUE RVC::OBJECT::RedoChanges (  ) 

Redo (reinstate) changes made by an undo operation, if enabled.

ERRVALUE RVC::OBJECT::SaveObjectTo ( RVC::OBJITEM DestObjItem,
const CREDENTIALS *Credentials  RVC_DEFAULT_CREDENTIALS 
) const

Save an object to a destination.

If the 'DestObjItem' refers to an existing object, then a new object is created and if that succeeds, the original is deleted, otherwise the original is kept. If the 'DestObjItem' does not exist, then it is a simple copy of the source object. Does not copy DBTABLE objects. Use RVC::DBASE::CopyTableTo() method.

Parameters:
DestObjItem Parent object to copy object and children to, new destination object RETURNED
RVC_DEFAULT_CREDENTIALS User credentials passed in, NULL for default behavior
ERRVALUE RVC::OBJECT::SearchForInvalidChildObjects ( bool  SearchAllSubLevels,
OBJITEMLIST InvalidChildList,
OBJITEMLIST SingletonChildList,
OBJITEMLIST OutOfDateChildList,
const CREDENTIALS *Credentials  RVC_DEFAULT_CREDENTIALS 
) const

Search children of 'this' for any children that are invalid due to: 1.

Violation of parent object rules (child cannot be under this parent object) 2. Singleton violation: There can be only one object of this type under the parent

Parameters:
SearchAllSubLevels 'false' to return only the first level children, true to do levels of children
InvalidChildList List of children that violate parent object rules (child cannot be under this parent object)
SingletonChildList Singleton violation: There can be only one object of this type under the parent
OutOfDateChildList Out of date violation: The object MUST have a last modified date later than its parent object
RVC_DEFAULT_CREDENTIALS User credentials passed in, NULL for default behavior
static void RVC::OBJECT::SetDisableCredentialQuery ( bool  value  )  [static]

Disable credential query dialog from appearing. The credential query dialog is the username / password prompt dialog.

void RVC::OBJECT::SetInodeNum ( RVCINODENUM  inode  )  [inline, protected]
void RVC::OBJECT::SetMakeObject ( const RVC::OBJECT rhs  )  [protected]
void RVC::OBJECT::SetMakeParms ( OBJMAKEPARMS &  ObjMakeParms,
const RVC::OBJECT parent,
const RVC::DESCRIPTOR Descriptor,
GENINFO *  newinfo,
int  HeaderSize,
int  HeaderType,
const CREDENTIALS Credentials 
) [protected]
ERRVALUE RVC::OBJECT::SetMetadata ( const SIMPLE_ARRAY< UINT8 > &  buffer,
const CREDENTIALS *Credentials  RVC_DEFAULT_CREDENTIALS 
)
Parameters:
RVC_DEFAULT_CREDENTIALS User credentials passed in, NULL for default behavior
ERRVALUE RVC::OBJECT::SetMinimumTNTVersion ( UINT16  Version = 0,
const CREDENTIALS *Credentials  RVC_DEFAULT_CREDENTIALS 
)

Set the minimum version of the TNT products that can view this project file.

The form of the 'Version' parameter is 6900, 7000, 7100, etc...

Parameters:
Version Default is to the current version
RVC_DEFAULT_CREDENTIALS User credentials passed in, NULL for default behavior
static void RVC::OBJECT::SetMultiThreadMode ( bool  value  )  [static]

Enable or disable thread synchronization in rvcsys.dll.

Calling these or derived class methods from multiple threads requires that multi-thread mode be set to true. RVC::OBJECT and derived class instances cannot be shared between threads, each thread MUST have its own. Default upon startup is 'false' for multi-thread mode.

void RVC::OBJECT::SetOpenParms ( OBJOPENPARMS &  ObjOpenParms,
const RVC::OBJECT object,
OPENMODE  OpenMode,
const CREDENTIALS Credentials 
) [protected]
ERRVALUE RVC::OBJECT::SetParent ( const OBJITEM ObjItem  )  [protected]
ERRVALUE RVC::OBJECT::SetTimeLastMod ( const DATETIME NewTime,
const CREDENTIALS *Credentials  RVC_DEFAULT_CREDENTIALS 
)

Modify the rvc object's TimeLastModified field to the time given.

The rvc object must be opened for writing

Parameters:
NewTime Date / Time to set the rvc object's "last modified" field
RVC_DEFAULT_CREDENTIALS User credentials passed in, NULL for default behavior
ERRVALUE RVC::OBJECT::SetTimeLastMod ( const CREDENTIALS *Credentials  RVC_DEFAULT_CREDENTIALS  ) 

Modify the rvc object's TimeLastModified field to the current time.

The object must be opened for writing

Parameters:
RVC_DEFAULT_CREDENTIALS User credentials passed in, NULL for default behavior
ERRVALUE RVC::OBJECT::SetTimeLastUsed ( const DATETIME NewTime,
const CREDENTIALS *Credentials  RVC_DEFAULT_CREDENTIALS 
)

Modify the rvc object's TimeLastUsed field to the time given.

The object must be opened for writing

Parameters:
NewTime Date / Time to set the rvc object's "last used" field
RVC_DEFAULT_CREDENTIALS User credentials passed in, NULL for default behavior
ERRVALUE RVC::OBJECT::SetTimeLastUsed ( const CREDENTIALS *Credentials  RVC_DEFAULT_CREDENTIALS  ) 

Modify the rvc object's TimeLastUsed field to the current time.

The object must be opened for writing

Parameters:
RVC_DEFAULT_CREDENTIALS User credentials passed in, NULL for default behavior
ERRVALUE RVC::OBJECT::SetUndoMaxLevel ( INT32  NewLevel  ) 

Set the maximum number of undo levels.

static int RVC::OBJECT::TestUsableForLimit ( const RVC::OBJITEM objitem,
UINT32  limitmode 
) [static]

Test if usable for specified limit mode.

Does not check subobjects.

Returns:
TRUE if usable, FALSE if not, < 0 if error.
static ERRVALUE RVC::OBJECT::TestUsableInLite ( const RVC::OBJITEM objitem  )  [static]

Test if object usabe in current "limited" mode, if any.

Returns error if not usable or 0 if usable. If not running limited (Free/Basic) mode will always return 0.

UINT32 RVC::OBJECT::TranslateOpenFlags ( OPENMODE  flags  )  const [protected]
Parameters:
flags Translates OPENMODE to OBJECTACCESS_... flags
ERRVALUE RVC::OBJECT::TraverseLink ( RVC::OBJECT TraversedObject  ) 

Method to traverse an object link if 'this' references a RVC object link.

If 'this' references a link, 'TraversedObject' will be attached to the linked to object, if 'this' is not a link, 'TraversedObject' will be attached to 'this'.

Returns:
'1' if the link existed and was traversed, '0' if not a link, < 0 error
ERRVALUE RVC::OBJECT::UndoChanges ( bool  SetRedo = false  ) 

Undo changes made from the last undo mark.

Parameters:
SetRedo Set redo information to undo the undo
ERRVALUE RVC::OBJECT::UndoClear (  ) 

Clear out all undo information.

ERRVALUE RVC::OBJECT::UndoMark (  ) 

Mark a spot for an undo call to undo to.

This first call to this function marks the initial position for undo and enables undo for this file

ERRVALUE RVC::OBJECT::UpdateFile ( const CREDENTIALS *Credentials  RVC_DEFAULT_CREDENTIALS  ) 

Update file information stored in object caches to the file itself.

Parameters:
RVC_DEFAULT_CREDENTIALS User credentials passed in, NULL for default behavior
ERRVALUE RVC::OBJECT::UpdateTimeLastUsed ( const CREDENTIALS *Credentials  RVC_DEFAULT_CREDENTIALS  ) 

Update "Last Used" time to be later than any like object.

Only updates the object if necessary. Guarentees this object will be selected be FindChildLastUsed()

Parameters:
RVC_DEFAULT_CREDENTIALS User credentials passed in, NULL for default behavior
virtual ERRVALUE RVC::OBJECT::v_CloseObject (  )  [private, virtual]

Called by the Close() method to close the derived class open handle, if possible and necessary.

If the derived class retains an open state with the rvc object, then the derived class MUST support this method The default behaviour is to return (0).

If this method is supported, then the derived class must support IsObjectOpen() and OpenObject().

virtual ERRVALUE RVC::OBJECT::v_CopyObject ( RVC::OBJECT DestParentObj,
RVC::OBJECT DestObj,
FILTER filter,
COPYFLAGS  CopyFlags,
const CREDENTIALS Credentials 
) const [protected, virtual]

Called by the CopyTo() method to copy the derived class, if possible and necessary.

Parameters:
DestParentObj Parent object to copy object and children to
DestObj Attached instance to destination object
filter Method called with an rvc object to determine fitness to copy
Credentials User credentials passed in, NULL for default behavior
virtual ERRVALUE RVC::OBJECT::v_GetDescriptor ( DESCRIPTOR Descriptor,
const CREDENTIALS Credentials 
) const [protected, virtual]
virtual RVC::OBJTYPE RVC::OBJECT::v_GetDftObjectType (  )  const [private, virtual]

Called whenever a default object type is needed for comparison or default parameters.

All derived classes that model a specific object must override this method and provide a correct RVC::OBJTYPE_... value. The default value is RVC::OBJTYPE_File.

virtual FILTER* RVC::OBJECT::v_GetObjectFilter (  )  const [private, virtual]

Used in FindChildLastUsed() if the child object passed in needs a filter to get the correct project file object.

Returns:
A pointer to an OBJECT::FILTER instance allocated using new(). The caller will free the instance. NULL if no filter is needed, the default.
virtual ERRVALUE RVC::OBJECT::v_GetParent ( RVC::OBJECT ObjParent  )  const [private, virtual]

Called when parent object is needed. Default operation is to get the parent object.

virtual bool RVC::OBJECT::v_IsMultiObject (  )  const [private, virtual]

Can the derived class handle multiple object types.

Used in caes where the object instance determines the object to look for

virtual bool RVC::OBJECT::v_IsObjectOpen (  )  const [private, virtual]

Called by the IsOpen() method to determine if the rvc object is open, if possible and necessary.

If the derived class retains an open state with the rvc object, then the derived class MUST support this method The default behaviour is to return (true).

If this method is supported, then the derived class must support CloseObject() and OpenObject().

virtual ERRVALUE RVC::OBJECT::v_OpenObject ( OPENMODE  OpenMode,
MDLGPARENT  parent,
const CREDENTIALS Credentials 
) [private, virtual]

Called by the Open() methods to open an rvc object.

If the derived class retains an open state with the rvc object, then the derived class MUST support this method The default behaviour is to return (0).

If this method is supported, then the derived class must support CloseObject() and IsObjectOpen().

Reimplemented in RVC::ARRAY.

virtual bool RVC::OBJECT::v_ValidateObjectType ( const RVC::OBJTYPE  otype  )  const [private, virtual]

Called to determine if the derived class can handle the specified object type.

All derived classes that model a specific object must override this method and test the validity of the RVC::OBJTYPE_... value passed in. The default value is true, since the RVC::OBJECT class can handle any object type

ERRVALUE RVC::OBJECT::ValidateFileMapping ( MISTRING LogString  ) 

Determine the status of the object to file mapping layer. If the 'LogString' is empty, then the mapping is valid.


The documentation for this class was generated from the following file:

Generated on Sun Oct 7 21:37:43 2012 for TNTsdk 2012 by  doxygen 1.6.1