mirror of
https://bitbucket.org/theswgsource/src-1.2.git
synced 2026-07-28 23:16:15 -04:00
74 lines
2.5 KiB
C++
74 lines
2.5 KiB
C++
#ifndef CTSERVICECHARACTER_H
|
|
#define CTSERVICECHARACTER_H
|
|
|
|
namespace CTService
|
|
{
|
|
|
|
//--------------------------------------------------------
|
|
class CTServiceCharacter
|
|
//--------------------------------------------------------
|
|
{
|
|
typedef unsigned short uchar_t;
|
|
inline void copy_wide_string(uchar_t * target, const uchar_t * source, int length)
|
|
{
|
|
if (!target)
|
|
return;
|
|
if (!source)
|
|
{
|
|
target[0] = 0;
|
|
return;
|
|
}
|
|
|
|
int offset = 0;
|
|
while (offset < length && (target[(offset+1)] = source[offset])) {
|
|
target[length-1] = 0;
|
|
offset++;
|
|
}
|
|
}
|
|
public:
|
|
enum { CHARACTER_SIZE=64, CHARACTER_BUFFER, REASON_SIZE=4096, REASON_BUFFER };
|
|
|
|
CTServiceCharacter() : mCharacter(), mCanRename(true), mCanMove(true), mCanTransfer(true), mRenameReason(), mMoveReason(), mTransferReason()
|
|
{ mCharacter[0] = 0;
|
|
mRenameReason[0] = 0;
|
|
mMoveReason[0] = 0;
|
|
mTransferReason[0]= 0; }
|
|
|
|
CTServiceCharacter(const unsigned short *ch) : mCharacter(), mCanRename(true), mCanMove(true), mCanTransfer(true), mRenameReason(), mMoveReason(), mTransferReason()
|
|
{ copy_wide_string(mCharacter, ch, CHARACTER_BUFFER);
|
|
mRenameReason[0] = 0;
|
|
mMoveReason[0] = 0;
|
|
mTransferReason[0]= 0; }
|
|
|
|
void SetCharacter(const uchar_t * value) { copy_wide_string(mCharacter, value, CHARACTER_BUFFER); }
|
|
const uchar_t * GetCharacter() const { return mCharacter; }
|
|
|
|
void SetCanRename(const bool value) { mCanRename = value; }
|
|
const bool GetCanRename() const { return mCanRename; }
|
|
void SetCanMove(const bool value) { mCanMove = value; }
|
|
const bool GetCanMove() const { return mCanMove; }
|
|
void SetCanTransfer(const bool value) { mCanTransfer = value; }
|
|
const bool GetCanTransfer() const { return mCanTransfer; }
|
|
|
|
void SetRenameReason(const uchar_t * value) { copy_wide_string(mRenameReason, value, REASON_BUFFER); }
|
|
const uchar_t * GetRenameReason() const { return mRenameReason; }
|
|
void SetMoveReason(const uchar_t * value) { copy_wide_string(mMoveReason, value, REASON_BUFFER); }
|
|
const uchar_t * GetMoveReason() const { return mMoveReason; }
|
|
void SetTransferReason(const uchar_t * value) { copy_wide_string(mTransferReason, value, REASON_BUFFER); }
|
|
const uchar_t * GetTransferReason() const { return mTransferReason; }
|
|
|
|
private:
|
|
uchar_t mCharacter[CHARACTER_BUFFER];
|
|
bool mCanRename;
|
|
bool mCanMove;
|
|
bool mCanTransfer;
|
|
uchar_t mRenameReason[REASON_BUFFER];
|
|
uchar_t mMoveReason[REASON_BUFFER];
|
|
uchar_t mTransferReason[REASON_BUFFER];
|
|
};
|
|
|
|
}; // namespace
|
|
|
|
#endif //CTSERVICECHARACTER_H
|
|
|