#ifndef __CSrvrMessaging_h__
#define __CSrvrMessaging_h__ 1
#include "PrivateTypes.h"
#include "SharedConsts.h"
#include "DirServicesTypes.h"
class CSrvrMessaging {
public:
CSrvrMessaging ( void );
virtual ~CSrvrMessaging ( void );
SInt32 Add_tDataBuff_ToMsg ( sComData **inMsg, tDataBuffer *inBuff, eValueType inType );
SInt32 Add_tDataList_ToMsg ( sComData **inMsg, tDataList *inList, eValueType inType );
SInt32 Add_Value_ToMsg ( sComData *inMsg, UInt32 inValue, eValueType inType );
SInt32 Add_tAttrEntry_ToMsg ( sComData **inMsg, tAttributeEntry *inData );
SInt32 Add_tAttrValueEntry_ToMsg ( sComData **inMsg, tAttributeValueEntry *inData );
SInt32 Add_tRecordEntry_ToMsg ( sComData **inMsg, tRecordEntry *inData );
SInt32 Get_tDataBuff_FromMsg ( sComData *inMsg, tDataBuffer **outBuff, eValueType inType );
SInt32 Get_tDataList_FromMsg ( sComData *inMsg, tDataList **outList, eValueType inType );
SInt32 Get_Value_FromMsg ( sComData *inMsg, UInt32 *outValue, eValueType inType );
SInt32 Get_tAttrEntry_FromMsg ( sComData *inMsg, tAttributeEntry **outAttrEntry, eValueType inType );
SInt32 Get_tAttrValueEntry_FromMsg ( sComData *inMsg, tAttributeValueEntry **outAttrValue, eValueType inType );
SInt32 Get_tRecordEntry_FromMsg ( sComData *inMsg, tRecordEntry **outRecEntry, eValueType inType );
void ClearDataBlock ( sComData *inMsg );
void ClearMessageBlock ( sComData *inMsg );
void Grow ( sComData **inMsg, UInt32 inOffset, UInt32 inSize );
private:
SInt32 GetEmptyObj ( sComData *inMsg, eValueType inType, sObject **outObj );
SInt32 GetThisObj ( sComData *inMsg, eValueType inType, sObject **outObj );
};
#endif