Mobile API Reference  MicroStrategy 2019
BinaryCollection.h
Go to the documentation of this file.
1 //==============================================================================================
2 // FILENAME : BinaryCollection.h
3 // AUTHOR : Yi Luo
4 // PROJECT : DataType
5 //
6 // CREATION : 08/16/2002
7 // Copyright (C) MicroStrategy, Inc. 2002
8 //==============================================================================================
9 #ifndef MDataType_BinaryCollection_h
10 #define MDataType_BinaryCollection_h
11 
12 #include "DataType.h"
13 #include "Base/Defines/StrongPtr.h"
15 
16 namespace MDataType
17 {
18  class Binary;
19 
24  {
25  public:
26 
33  virtual void Insert(Binary* ipBinary)=0;
34 
42  virtual void Merge(BinaryCollection* ipBinaryCollection)=0;
43 
45  virtual unsigned Int32 GetBinaryCount() const throw() = 0;
46 
53  virtual const Binary* GetBinary(unsigned Int32 iBinaryIndex) const = 0;
54 
56  virtual unsigned Int64 GetTotalLength() const throw() = 0;
57 
59  virtual void Delete() throw() = 0;
60 
61  protected:
62 
63  virtual ~BinaryCollection() throw()
64  {
65  };
66  };
67 
69 
71 
77  DLL_DATATYPE_EXIM Binary* CreateBinary(BinaryCollection* ipBinaryCollection, MBase::MemoryContract* ipMemContract = NULL);
78 
87  BinaryCollection* ipBinaryCollection,
88  size_t inBinaryUB);
89 
99  BinaryCollection* ipBinaryCollection,
100  size_t inBinaryUB,
101  MBase::MemoryContractPtr& irMemContract);
102 }
103 
104 #endif // MDataType_BinaryCollection_h
Definition: BaseMemoryContract.h:40
MDataType::Binary represents binary data.
Definition: Binary.h:33
Definition: BinaryCollection.h:23
DLL_DATATYPE_EXIM BinaryCollection * CreateBinaryCollection()
#define Int64
Definition: BasicTypes.h:36
#define DLL_DATATYPE_EXIM
Definition: DataType.h:22
virtual unsigned Int64 GetTotalLength() const =0
Get the total size of all the binary.
Definition: BigDecimal.h:18
virtual void Merge(BinaryCollection *ipBinaryCollection)=0
#define Int32
Definition: BasicTypes.h:20
MBase::StrongPtr< BinaryCollection, MBase::DeleteOperatorGeneric< BinaryCollection > > BinaryCollectionPtr
Definition: BinaryCollection.h:68
DLL_DATATYPE_EXIM BinaryCollection * CombineBinaryCollectionGoverned(BinaryCollection *ipBinaryCollection, size_t inBinaryUB, MBase::MemoryContractPtr &irMemContract)
Definition: StrongPtr.h:50
DLL_DATATYPE_EXIM Binary * CreateBinary(MBase::Buffer *ipBuffer=NULL)
CreateBinary instantiates a new MDataType::Binary object.
virtual ~BinaryCollection()
Definition: BinaryCollection.h:63
virtual const Binary * GetBinary(unsigned Int32 iBinaryIndex) const =0
virtual void Delete()=0
delete this object. Used by StrongPtr.
virtual unsigned Int32 GetBinaryCount() const =0
Get the number of Binaries in the collection.
DLL_DATATYPE_EXIM BinaryCollection * CombineBinaryCollection(BinaryCollection *ipBinaryCollection, size_t inBinaryUB)
#define NULL
Definition: Null.h:10
virtual void Insert(Binary *ipBinary)=0