00001
00002
00003
00004
00005
00006
00008
00010
00011
00012
00013 #ifndef _seTransmittal_h
00014 #define _seTransmittal_h
00015
00021 #include "seCommon.h"
00022
00023 namespace sedris {
00024
00025 class ITransmittal;
00026 class IWorkspace;
00027
00028 class seWorkspace;
00029 class seIterator;
00030 class seObject;
00031
00057 class EXPORT_DLL seTransmittal
00058 {
00059 public:
00060
00062 seTransmittal() : _impl(NULL), _ownr(NULL)
00063 {
00064 }
00065
00069 seTransmittal( const seTransmittal &other ) : _impl(NULL), _ownr(NULL)
00070 {
00071 other.cloneTo(*this);
00072 }
00073
00083 virtual ~seTransmittal()
00084 {
00085 if (isValid())
00086 release();
00087 }
00088
00096 virtual seTransmittal& operator =( const seTransmittal &other )
00097 {
00098 if (this != &other)
00099 other.cloneTo(*this);
00100 return *this;
00101 }
00102
00104 virtual bool isValid() const
00105 {
00106 return (_impl != NULL);
00107 }
00108
00110 virtual bool isOpened() const;
00111
00116 virtual bool isEditable() const;
00117
00121 virtual bool isModified() const;
00122
00124 virtual const char *getFileName() const;
00125
00127 virtual SE_Access_Mode getAccessMode() const;
00128
00134 virtual SE_Encoding getEncoding() const;
00135
00193 virtual void close();
00194
00220 virtual void getRootObject( seObject &obj ) const;
00221
00234 virtual void setRootObject( seObject &obj );
00235
00272 virtual void createObject( seObject &obj, SE_DRM_Class type=SE_DRM_CLS_NULL );
00273
00295 virtual void deleteObject( seObject &obj );
00296
00325 virtual void deleteObjectTree( seObject &obj );
00326
00337 virtual void getObjectFromID( const char *str_obj_ID, seObject &obj ) const;
00338
00349 virtual void getPublishedObject( const char *obj_label, seObject &obj ) const;
00350
00376 virtual void getPublishedObjectsIterator( seIterator &iter ) const;
00377
00395 virtual void setURN( const char *urn );
00396
00403 virtual const char *getURN() const;
00404
00418 virtual unsigned int getITRReferenceCount() const;
00419
00423 virtual const char *getITRReference( unsigned int urn_index ) const;
00424
00434 virtual unsigned int getITRReferenceLabelCount( unsigned int urn_index ) const;
00435
00440 virtual const char *getITRReferenceLabel( unsigned int urn_index,
00441 unsigned int label_index ) const;
00442
00460 virtual const char *getUniqueID() const;
00461
00467 virtual void cloneTo( seTransmittal &other ) const;
00468
00472 virtual bool isSameAs( const seTransmittal &other ) const;
00473
00482 virtual void release();
00483
00489 virtual bool isInWorkspace( const seWorkspace &wksp ) const;
00490
00491 private:
00492
00493 SE_HANDLE_DECL(Transmittal, Workspace)
00494 };
00495
00496
00497 }
00498
00499 #endif // _seTransmittal_h