Mobile API Reference  MicroStrategy 2019
DSSTabularUnit.h
Go to the documentation of this file.
1 /*
2  * DSSTabularUnit.h
3  * DashboardViewer
4  *
5  * Created by Xiaolong Wang on 12/30/09.
6  * Copyright 2010 MicroStrategy, Inc.. All rights reserved.
7  *
8  */
9 
10 #import "DSSAEHelper.h"
11 #import "GUID.h"
12 
14 class DSSObjectContext;
15 class DSSDataModelBase;
16 
18 {
19 public:
21  virtual ~DSSTabularUnit();
22 
23  int getUnitIndex();
24 
25  //ctang
26  void setUnitIndex(int iIndex);
27 
28  int setGUID(MBase::CString &irVal);
29 
30  //int getGUID(MBase::CString &orVal);
31 
32  int setGUID(GUID &irVal);
33 
34  virtual int getGUID(GUID &irVal);
35 
36  virtual const GUID &getGUID();//{return mGUID;};
37 
38  int get_IDI(GUID *opID);
39 
42 
43  virtual int CountRows() = 0;
44 
45  inline void setIsRuntimeUnit(bool val){mbIsRuntimeUnit = val;};
46  virtual bool IsRuntimeUnit();//{return mbIsRuntimeUnit;};
47  virtual bool IsRecursiveUnit();
48  /*
49  @method
50  @abstract translate an element object to a local element key, return S_FALSE if not found
51  @discussion it's a linear search, the complexity is O(n*m)
52  */
53  virtual int FindElement(DSSBaseElementProxy *ipElement, int &orKey) = 0;
54 
55  virtual int createElement(int key, DSSObjectContext *ipObjectContext, DSSBaseElementProxy **oppElement, int iGlobalKey=-1, int iGlobalKeyVer = -1) = 0;
56 
57  int createSpecialElement(EnumDSSElementType iElementType, int key, DSSObjectContext *ipObjectContext, DSSBaseElementProxy **oppElement);
58 
59  void setParentInfo(DSSDataModelBase *ipModel);
60 
61  void setNullElement(int index, MBase::CString &irElementID);
62 
63  virtual int size();
64 
65  inline void setObjectContextRef(DSSObjectContext *ipObjContext){mpObjContext = ipObjContext;};
66 
67  /*
68  @method
69  @abstract check the element object is same with the data having the local element key iKey, return value(true for equal, false for non-equal)
70  */
71  virtual bool compareElement(DSSBaseElementProxy *ipElement, int iKey) = 0;
72 
73  virtual int getTabularUnit(DSSTabularUnit** oppUnit);
74 
75  virtual MBase::CString getGUIDStr() { return mGUIDStr;}
76 
77 protected:
78 
80 
82 
83  //private data member
84  int mUnitID;
85 
88 
90 
92 
95 
99 };
100 
102 {
103  return mUnitID;
104 }
105 
107 {
108  return mUnitType;
109 }
110 
112 {
113  if (opType)
114  *opType = mUnitType;
115  return S_OK;
116 }
117 
118 inline void DSSTabularUnit::setUnitIndex(int iIndex)
119 {
120  mUnitID = iIndex;
121 }
122 
123 
virtual const GUID & getGUID()
GUID mGUID
Definition: DSSTabularUnit.h:87
virtual int getTabularUnit(DSSTabularUnit **oppUnit)
int get_IDI(GUID *opID)
EnumDSSTemplateUnitType getUnitType()
Definition: DSSTabularUnit.h:106
int createSpecialElement(EnumDSSElementType iElementType, int key, DSSObjectContext *ipObjectContext, DSSBaseElementProxy **oppElement)
virtual bool compareElement(DSSBaseElementProxy *ipElement, int iKey)=0
int setGUID(MBase::CString &irVal)
Definition: DSSBaseElementProxy.h:16
MBase::CString mGUIDStr
Definition: DSSTabularUnit.h:86
DSSBaseElementProxy * mpNullElement
Definition: DSSTabularUnit.h:98
void setParentInfo(DSSDataModelBase *ipModel)
Definition: DSSDataModelBase.h:28
virtual int size()
virtual MBase::CString getGUIDStr()
Definition: DSSTabularUnit.h:75
#define S_OK
Definition: PDCwinerror.h:31
Definition: DSSAEHelper.h:99
int get_UnitType(EnumDSSTemplateUnitType *opType)
Definition: DSSTabularUnit.h:111
void setIsRuntimeUnit(bool val)
Definition: DSSTabularUnit.h:45
void setUnitIndex(int iIndex)
Definition: DSSTabularUnit.h:118
MBase::CString mNullElementIDStr
Definition: DSSTabularUnit.h:97
DSSObjectContext * hGetContext()
virtual ~DSSTabularUnit()
DSSObjectContext * mpObjContext
Definition: DSSTabularUnit.h:94
DSSBaseElementProxy * hGetNullElement()
virtual int FindElement(DSSBaseElementProxy *ipElement, int &orKey)=0
EnumDSSTemplateUnitType mUnitType
Definition: DSSTabularUnit.h:89
void setObjectContextRef(DSSObjectContext *ipObjContext)
Definition: DSSTabularUnit.h:65
EnumDSSTemplateUnitType
Definition: DSSIPhoneEnums.h:12
int mUnitID
Definition: DSSTabularUnit.h:84
Definition: DSSTabularUnit.h:17
std::string CString
Definition: DSSBaseString.h:26
void setNullElement(int index, MBase::CString &irElementID)
virtual int CountRows()=0
Definition: DSSAEHelper.h:105
Definition: DSSObjectContext.h:272
int mNullElementIndex
Definition: DSSTabularUnit.h:96
virtual int createElement(int key, DSSObjectContext *ipObjectContext, DSSBaseElementProxy **oppElement, int iGlobalKey=-1, int iGlobalKeyVer=-1)=0
DSSDataModelBase * mpModel
Definition: DSSTabularUnit.h:93
EnumDSSElementType
Definition: DSSIPhoneEnums.h:237
virtual bool IsRuntimeUnit()
int getUnitIndex()
Definition: DSSTabularUnit.h:101
virtual bool IsRecursiveUnit()
Definition: Base/Base/GUID.h:32
bool mbIsRuntimeUnit
Definition: DSSTabularUnit.h:91