📄 bmg.hpp
字号:
// Borland C++ Builder
// Copyright (c) 1995, 2005 by Borland Software Corporation
// All rights reserved
// (DO NOT EDIT: machine generated header) 'Bmg.pas' rev: 10.00
#ifndef BmgHPP
#define BmgHPP
#pragma delphiheader begin
#pragma option push
#pragma option -w- // All warnings off
#pragma option -Vx // Zero-length empty class member functions
#pragma pack(push,8)
#include <System.hpp> // Pascal unit
#include <Sysinit.hpp> // Pascal unit
#include <Connect.hpp> // Pascal unit
#include <Commconnect.hpp> // Pascal unit
#include <Classes.hpp> // Pascal unit
#include <Sysutils.hpp> // Pascal unit
#include <Syncobjs.hpp> // Pascal unit
#include <Windows.hpp> // Pascal unit
//-- user supplied -----------------------------------------------------------
namespace Bmg
{
//-- type declarations -------------------------------------------------------
struct TCommandItem
{
public:
Byte Number;
AnsiString Name;
Word Version;
Word Options;
} ;
class DELPHICLASS TRetrieveItem;
class PASCALIMPLEMENTATION TRetrieveItem : public Classes::TCollectionItem
{
typedef Classes::TCollectionItem inherited;
public:
AnsiString TargetNumber;
AnsiString SourceNumber;
AnsiString Msg;
System::TDateTime Stamp;
bool Bin;
Byte PID;
Byte DCS;
Word Spc;
public:
#pragma option push -w-inl
/* TCollectionItem.Create */ inline __fastcall virtual TRetrieveItem(Classes::TCollection* Collection) : Classes::TCollectionItem(Collection) { }
#pragma option pop
#pragma option push -w-inl
/* TCollectionItem.Destroy */ inline __fastcall virtual ~TRetrieveItem(void) { }
#pragma option pop
};
typedef TCommandItem BMG__2[32];
typedef void __fastcall (__closure *TBusyChanged)(System::TObject* Sender, bool aBusy);
typedef void __fastcall (__closure *TRxCharEvent)(System::TObject* Sender, char aChar);
typedef void __fastcall (__closure *TRxCommandEvent)(System::TObject* Sender, const AnsiString aCmd);
typedef void __fastcall (__closure *TRxCommandBeforeAcknowledgeEvent)(System::TObject* Sender, const AnsiString aCmd, bool &aProcessed);
class DELPHICLASS TBMGAsyncThread;
class DELPHICLASS TBMG;
class PASCALIMPLEMENTATION TBMG : public Connect::TLogConnection
{
typedef Connect::TLogConnection inherited;
private:
Classes::TStrings* FParams;
Word FVersion;
Connect::TCommunicationConnection* FComDevice;
int FBusyFlag;
int FSendLock;
bool fProcessLock;
int FRepeatCount;
int FRecTimeout;
int FRepeatTimeout;
AnsiString FRxBuffer;
AnsiString FRxCmdBuffer;
Classes::TStrings* FCommandBuffer;
Syncobjs::TEvent* FSyncEvent;
Syncobjs::TCriticalSection* FCriticalSection;
Connect::TCommRxCharEvent FSaveOnRxChar;
TBusyChanged FOnBusyChanged;
TRxCharEvent FOnRxChar;
TRxCommandEvent FOnRxCommand;
TRxCommandBeforeAcknowledgeEvent FOnRxCommandBeforeAcknowledge;
bool __fastcall GetIsBusy(void);
void __fastcall SetComDevice(Connect::TCommunicationConnection* Value);
void __fastcall DoComRxChar(System::TObject* Sender, int Count);
void __fastcall ProcessRxData(bool aDoChar, bool aDoCmds);
void __fastcall SetParams(const Classes::TStrings* Value);
protected:
TBMGAsyncThread* FAsyncThread;
virtual void __fastcall OpenConn(void);
virtual void __fastcall CloseConn(void);
void __fastcall SendCommand(const AnsiString aCmd);
Byte __fastcall CalcCheckSum(const AnsiString aCmd);
AnsiString __fastcall PrepareParams(const Byte aCmd, const Variant &aParams);
bool __fastcall SendAndReceiveAnswer(Byte aCmd, const Variant &aParams, Variant &aResParams, Byte aAckCmd, bool aCheckAckCmd, Byte aNakCmd);
bool __fastcall SendAndReceiveAck(Byte aCmd, const Variant &aParams, int &aResParam);
AnsiString __fastcall Strip8bit(const AnsiString S);
void __fastcall CheckLastNakError(int * aErrCode, const int aErrCode_Size, AnsiString * aErrMsg, const int aErrMsg_Size);
virtual void __fastcall CheckVersion(Byte aCmd) = 0 ;
virtual void __fastcall DoAcknowledge(const AnsiString aCmd) = 0 ;
virtual void __fastcall DoBusyChanged(bool aBusy);
virtual void __fastcall DoRxChar(char aChar);
virtual void __fastcall DoRxCommandBeforeAcknowledge(const AnsiString aCmd, bool &aProcessed);
virtual void __fastcall DoRxCommand(const AnsiString aCmd);
virtual void __fastcall DoFormatLog(Byte aChannel, AnsiString &aText);
public:
Byte LastNakCmd;
Word LastNakError;
unsigned LastSendTick;
__property Word Version = {read=FVersion, nodefault};
__fastcall virtual TBMG(Classes::TComponent* Owner);
__fastcall virtual ~TBMG(void);
bool __fastcall smTestConnection(void);
void __fastcall Busy(void);
void __fastcall Unbusy(void);
__property bool IsBusy = {read=GetIsBusy, nodefault};
void __fastcall RetrieveItem(const Variant &RV, TRetrieveItem* &RI);
void __fastcall RetrieveParams(const AnsiString aCmd, Byte &aRes, Variant &aResParams);
__published:
__property Classes::TStrings* Params = {read=FParams, write=SetParams};
__property Connect::TCommunicationConnection* ComDevice = {read=FComDevice, write=SetComDevice};
__property int RepeatCount = {read=FRepeatCount, write=FRepeatCount, default=5};
__property int RecTimeout = {read=FRecTimeout, write=FRecTimeout, default=3000};
__property int RepeatTimeout = {read=FRepeatTimeout, write=FRepeatTimeout, default=500};
__property TBusyChanged OnBusyChanged = {read=FOnBusyChanged, write=FOnBusyChanged};
__property TRxCharEvent OnRxChar = {read=FOnRxChar, write=FOnRxChar};
__property TRxCommandEvent OnRxCommand = {read=FOnRxCommand, write=FOnRxCommand};
__property TRxCommandBeforeAcknowledgeEvent OnRxCommandBeforeAcknowledge = {read=FOnRxCommandBeforeAcknowledge, write=FOnRxCommandBeforeAcknowledge};
};
class PASCALIMPLEMENTATION TBMGAsyncThread : public Classes::TThread
{
typedef Classes::TThread inherited;
private:
TBMG* FOwner;
Syncobjs::TSimpleEvent* FAsyncEvent;
bool FDontProcessRxCommands;
void __fastcall ProcessRxData(void);
protected:
virtual void __fastcall Execute(void);
HIDESBASE void __fastcall Terminate(void);
public:
__fastcall TBMGAsyncThread(TBMG* aOwner);
__fastcall virtual ~TBMGAsyncThread(void);
};
class DELPHICLASS TBMGClient;
class PASCALIMPLEMENTATION TBMGClient : public TBMG
{
typedef TBMG inherited;
private:
bool FRetrieveAut;
protected:
virtual void __fastcall OpenConn(void);
virtual void __fastcall CloseConn(void);
virtual void __fastcall CheckVersion(Byte aCmd);
virtual void __fastcall DoAcknowledge(const AnsiString aCmd);
virtual void __fastcall DoAfterOpen(void);
public:
__property bool RetrieveAut = {read=FRetrieveAut, nodefault};
void __fastcall smSubmit(const AnsiString TelNum, const AnsiString Msg, Byte VP = (Byte)(0xa8), Byte PID = (Byte)(0x0), Byte DCS = (Byte)(0x0), Word Aux = (Word)(0x0), Word Spc = (Word)(0x0));
TRetrieveItem* __fastcall smRetrieve(void);
int __fastcall smCount(void);
int __fastcall smDeleteAll(void);
void __fastcall smRetrieveAll(Classes::TCollection* SMCollection);
int __fastcall smSubmitProfile(const AnsiString aProfile, const AnsiString Msg, Byte VP = (Byte)(0xa8), Byte PID = (Byte)(0x0), Byte DCS = (Byte)(0x0), Word Aux = (Word)(0x0), Word Spc = (Word)(0x0));
void __fastcall smGetProfiles(Classes::TStrings* aProfileList);
void __fastcall smNewProfile(const AnsiString aProfile, const AnsiString aTelNumber);
void __fastcall smDeleteProfile(const AnsiString aProfile);
void __fastcall smCopyProfile(const AnsiString aFromProfile, const AnsiString aToProfile);
int __fastcall smAppendProfile(const AnsiString aFromProfile, const AnsiString aToProfile);
int __fastcall smNewUser(const AnsiString aProfile, const AnsiString aTelNumber);
void __fastcall smDeleteUser(const AnsiString aProfile, const AnsiString aTelNumber);
bool __fastcall smUserExists(const AnsiString aProfile, const AnsiString aTelNumber);
int __fastcall smUserCount(const AnsiString aProfile);
void __fastcall smGetUsers(const AnsiString aProfile, Classes::TStrings* aUserList);
void __fastcall smRetrieveAut(const bool aEnable);
void __fastcall smSubmitBin(const AnsiString aTelNumber, const AnsiString Msg, Byte VP = (Byte)(0xa8), Byte PID = (Byte)(0x0), Byte DCS = (Byte)(0xf6), Word Aux = (Word)(0x0), Word Spc = (Word)(0x0));
int __fastcall smSubmitProfileBin(const AnsiString aProfile, const AnsiString Msg, Byte VP = (Byte)(0xa8), Byte PID = (Byte)(0x0), Byte DCS = (Byte)(0xf6), Word Aux = (Word)(0x0), Word Spc = (Word)(0x0));
void __fastcall smChangePassword(const AnsiString aNewPassword);
void __fastcall smDCSEnable(const Byte aEnable);
public:
#pragma option push -w-inl
/* TBMG.Create */ inline __fastcall virtual TBMGClient(Classes::TComponent* Owner) : TBMG(Owner) { }
#pragma option pop
#pragma option push -w-inl
/* TBMG.Destroy */ inline __fastcall virtual ~TBMGClient(void) { }
#pragma option pop
};
class DELPHICLASS EBMGError;
class PASCALIMPLEMENTATION EBMGError : public Commconnect::EComError
{
typedef Commconnect::EComError inherited;
public:
int ErrCode;
public:
#pragma option push -w-inl
/* Exception.Create */ inline __fastcall EBMGError(const AnsiString Msg) : Commconnect::EComError(Msg) { }
#pragma option pop
#pragma option push -w-inl
/* Exception.CreateFmt */ inline __fastcall EBMGError(const AnsiString Msg, System::TVarRec const * Args, const int Args_Size) : Commconnect::EComError(Msg, Args, Args_Size) { }
#pragma option pop
#pragma option push -w-inl
/* Exception.CreateRes */ inline __fastcall EBMGError(int Ident)/* overload */ : Commconnect::EComError(Ident) { }
#pragma option pop
#pragma option push -w-inl
/* Exception.CreateResFmt */ inline __fastcall EBMGError(int Ident, System::TVarRec const * Args, const int Args_Size)/* overload */ : Commconnect::EComError(Ident, Args, Args_Size) { }
#pragma option pop
#pragma option push -w-inl
/* Exception.CreateHelp */ inline __fastcall EBMGError(const AnsiString Msg, int AHelpContext) : Commconnect::EComError(Msg, AHelpContext) { }
#pragma option pop
#pragma option push -w-inl
/* Exception.CreateFmtHelp */ inline __fastcall EBMGError(const AnsiString Msg, System::TVarRec const * Args, const int Args_Size, int AHelpContext) : Commconnect::EComError(Msg, Args, Args_Size, AHelpContext) { }
#pragma option pop
#pragma option push -w-inl
/* Exception.CreateResHelp */ inline __fastcall EBMGError(int Ident, int AHelpContext)/* overload */ : Commconnect::EComError(Ident, AHelpContext) { }
#pragma option pop
#pragma option push -w-inl
/* Exception.CreateResFmtHelp */ inline __fastcall EBMGError(System::PResStringRec ResStringRec, System::TVarRec const * Args, const int Args_Size, int AHelpContext)/* overload */ : Commconnect::EComError(ResStringRec, Args, Args_Size, AHelpContext) { }
#pragma option pop
public:
#pragma option push -w-inl
/* TObject.Destroy */ inline __fastcall virtual ~EBMGError(void) { }
#pragma option pop
};
//-- var, const, procedure ---------------------------------------------------
static const char STX = '\x2';
static const char ETX = '\x3';
static const char Tab = '\x9';
static const Shortint cmdcsAck = 0x0;
static const Shortint cmdcsNak = 0x63;
static const Shortint cmdcLogin = 0x1;
static const Shortint cmdcLogout = 0x2;
static const Shortint cmdcSubmit = 0x3;
static const Shortint cmdcRetrieve = 0x5;
static const Shortint cmdsRetrieve = 0x6;
static const Shortint cmdcCount = 0x33;
static const Shortint cmdsCount = 0x3d;
static const Shortint cmdcDeleteAll = 0x34;
static const Shortint cmdsDeleteAll = 0x3e;
static const Shortint cmdcRetrieveAll = 0x32;
static const Shortint cmdsRetrieveAll = 0x3c;
static const Shortint cmdcSubmitProfile = 0x1e;
static const Shortint cmdcGetProfile = 0x46;
static const Shortint cmdsGetProfile = 0x50;
static const Shortint cmdcNewProfile = 0x47;
static const Shortint cmdcDeleteProfile = 0x48;
static const Shortint cmdcCopyProfile = 0x49;
static const Shortint cmdcAppendProfile = 0x4f;
static const Shortint cmdcNewUser = 0x4a;
static const Shortint cmdcDeleteUser = 0x4b;
static const Shortint cmdcTestUser = 0x4c;
static const Shortint cmdcCountUser = 0x4d;
static const Shortint cmdcGetUser = 0x4e;
static const Shortint cmdsGetUser = 0x51;
static const Shortint cmdcRetrieveAut = 0x3b;
static const Shortint cmdsDeliver = 0x45;
static const Shortint cmdcChangePas = 0xa;
static const Shortint cmdcSubmitBin = 0x1f;
static const Shortint cmdcSubmitProfileBin = 0x20;
static const Shortint cmdcDCSEnable = 0x35;
static const Shortint enbNone = 0x0;
static const Shortint enbDCS = 0x1;
static const Shortint enbPID = 0x2;
static const Shortint enbSPC = 0x3;
static const Shortint mclDisplay = 0x0;
static const Shortint mclTE = 0x1;
static const Shortint mclSIM = 0x2;
static const Shortint mclME = 0x3;
static const Shortint spcPriority = 0x0;
static const Shortint spcRP = 0x1;
static const Shortint spcUDHI = 0x2;
static const Shortint spcrRP = 0x0;
static const Shortint spcrUDHI = 0x1;
static const Shortint cmdofClient = 0x1;
static const Shortint cmdofServer = 0x2;
extern PACKAGE TCommandItem Commands[32];
extern PACKAGE Variant __fastcall ArrayToVar(AnsiString * A, const int A_Size);
extern PACKAGE Byte __fastcall DTToValPer(System::TDateTime DT);
extern PACKAGE System::TDateTime __fastcall ValPerToDT(Byte VP);
extern PACKAGE void __fastcall BMGError(int aErrCode, const AnsiString Msg);
extern PACKAGE void __fastcall Register(void);
} /* namespace Bmg */
using namespace Bmg;
#pragma pack(pop)
#pragma option pop
#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif // Bmg
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -