⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bmg.hpp

📁 boomerang library 5.11 internet ed
💻 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 + -