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

📄 emi.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) 'Emi.pas' rev: 10.00

#ifndef EmiHPP
#define EmiHPP

#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 Emi
{
//-- type declarations -------------------------------------------------------
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, Byte aOT, Byte aTRN, bool aResult, AnsiString aData);

typedef void __fastcall (__closure *TRxCommandBeforeAcknowledgeEvent)(System::TObject* Sender, Byte aOT, Byte aTRN, bool aResult, AnsiString aData, bool &aProcessed);

class DELPHICLASS TRetrieveDeliverySMItem;
class PASCALIMPLEMENTATION TRetrieveDeliverySMItem : public Classes::TCollectionItem 
{
	typedef Classes::TCollectionItem inherited;
	
public:
	AnsiString TargetNumber;
	AnsiString SourceNumber;
	AnsiString Msg;
	System::TDateTime SCTS;
	bool Bin;
	Byte PID;
	Byte MCLs;
	Byte RPI;
	System::TDateTime VP;
public:
	#pragma option push -w-inl
	/* TCollectionItem.Create */ inline __fastcall virtual TRetrieveDeliverySMItem(Classes::TCollection* Collection) : Classes::TCollectionItem(Collection) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TCollectionItem.Destroy */ inline __fastcall virtual ~TRetrieveDeliverySMItem(void) { }
	#pragma option pop
	
};


class DELPHICLASS TRetrieveDeliveryNotificationItem;
class PASCALIMPLEMENTATION TRetrieveDeliveryNotificationItem : public Classes::TCollectionItem 
{
	typedef Classes::TCollectionItem inherited;
	
public:
	AnsiString TargetNumber;
	AnsiString SourceNumber;
	AnsiString Msg;
	System::TDateTime SCTS;
	Byte PID;
	Byte Status;
	Byte ReasonCode;
	System::TDateTime DSCTS;
public:
	#pragma option push -w-inl
	/* TCollectionItem.Create */ inline __fastcall virtual TRetrieveDeliveryNotificationItem(Classes::TCollection* Collection) : Classes::TCollectionItem(Collection) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TCollectionItem.Destroy */ inline __fastcall virtual ~TRetrieveDeliveryNotificationItem(void) { }
	#pragma option pop
	
};


class DELPHICLASS TEMIAsyncThread;
class DELPHICLASS TEMIClient;
class PASCALIMPLEMENTATION TEMIClient : public Connect::TLogConnection 
{
	typedef Connect::TLogConnection inherited;
	
private:
	Classes::TStrings* FParams;
	Connect::TCommunicationConnection* FComDevice;
	int FBusyFlag;
	int FSendLock;
	bool FReceiveLock;
	bool fProcessLock;
	unsigned FSTXStamp;
	int FRepeatCount;
	int FRecTimeout;
	int FETXTimeout;
	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 FSaveComDeviceActive;
	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 SplitRxCommand(const AnsiString aCommand, Byte &aOT, Byte &aTRN, bool &aResult, AnsiString &aData);
	AnsiString __fastcall GetPhoneNumber();
	int __fastcall GetCommandBufferCount(void);
	AnsiString __fastcall PhnToAdr(AnsiString aPhn);
	void __fastcall SetParams(const Classes::TStrings* Value);
	
protected:
	TEMIAsyncThread* FAsyncThread;
	virtual void __fastcall OpenConn(void);
	virtual void __fastcall CloseConn(void);
	void __fastcall SendCommand(Byte aOT, Byte aTRN, bool aResult, AnsiString aData);
	Byte __fastcall CalcCheckSum(const AnsiString aCmd);
	bool __fastcall SendAndReceiveAnswer(Byte aOT, Byte aTRN, AnsiString aData, AnsiString &aResData, int aRepeatCount = 0x0);
	void __fastcall CheckLastNakError(void);
	virtual void __fastcall DoAcknowledge(Byte aOT, Byte aTRN, bool aResult);
	virtual void __fastcall DoRxCommandBeforeAcknowledge(Byte aOT, Byte aTRN, bool aResult, AnsiString aData, bool &aProcessed);
	virtual void __fastcall DoBusyChanged(bool aBusy);
	virtual void __fastcall DoRxChar(char aChar);
	virtual void __fastcall DoRxCommand(Byte aOT, Byte aTRN, bool aResult, AnsiString aData);
	virtual void __fastcall DoFormatLog(Byte aChannel, AnsiString &aText);
	virtual bool __fastcall SendKeepAlive(void);
	
public:
	Byte LastNakCmd;
	int LastNakError;
	unsigned LastSendTick;
	__fastcall virtual TEMIClient(Classes::TComponent* Owner);
	__fastcall virtual ~TEMIClient(void);
	void __fastcall Busy(void);
	void __fastcall Unbusy(void);
	__property bool IsBusy = {read=GetIsBusy, nodefault};
	__property AnsiString PhoneNumber = {read=GetPhoneNumber};
	__property int CommandBufferCount = {read=GetCommandBufferCount, nodefault};
	bool __fastcall smTestConnection(void);
	System::TDateTime __fastcall smSubmit(AnsiString aPhn, AnsiString aOAPhn, AnsiString Msg, bool aBinary, Byte aMCLs, Byte aPID, Byte aNT, Byte aRPI, System::TDateTime Validity);
	
__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 ETXTimeout = {read=FETXTimeout, write=FETXTimeout, default=1000};
	__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 TEMIAsyncThread : public Classes::TThread 
{
	typedef Classes::TThread inherited;
	
private:
	TEMIClient* FOwner;
	Syncobjs::TSimpleEvent* FAsyncEvent;
	bool FDontProcessRxCommands;
	void __fastcall ProcessRxData(void);
	
protected:
	virtual void __fastcall Execute(void);
	HIDESBASE void __fastcall Terminate(void);
	
public:
	__fastcall TEMIAsyncThread(TEMIClient* aOwner);
	__fastcall virtual ~TEMIAsyncThread(void);
};


class DELPHICLASS EEMIError;
class PASCALIMPLEMENTATION EEMIError : public Commconnect::EComError 
{
	typedef Commconnect::EComError inherited;
	
public:
	int ErrCode;
public:
	#pragma option push -w-inl
	/* Exception.Create */ inline __fastcall EEMIError(const AnsiString Msg) : Commconnect::EComError(Msg) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateFmt */ inline __fastcall EEMIError(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 EEMIError(int Ident)/* overload */ : Commconnect::EComError(Ident) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateResFmt */ inline __fastcall EEMIError(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 EEMIError(const AnsiString Msg, int AHelpContext) : Commconnect::EComError(Msg, AHelpContext) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateFmtHelp */ inline __fastcall EEMIError(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 EEMIError(int Ident, int AHelpContext)/* overload */ : Commconnect::EComError(Ident, AHelpContext) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateResFmtHelp */ inline __fastcall EEMIError(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 ~EEMIError(void) { }
	#pragma option pop
	
};


//-- var, const, procedure ---------------------------------------------------
static const char STX = '\x2';
static const char ETX = '\x3';
static const char Tab = '\x2f';
static const char ACK = '\x41';
static const char NAK = '\x4e';
static const Shortint cmdcCallInput = 0x1;
static const Shortint cmdcMultipleAddressCallInput = 0x2;
static const Shortint cmdcCallInputSupplementaryServices = 0x3;
static const Shortint cmdcMSMessageTransfer = 0x1e;
static const Shortint cmdcAlert = 0x1f;
static const Shortint cmdcSubmitSM = 0x33;
static const Shortint cmdsDeliverySM = 0x34;
static const Shortint cmdsDeliveryNotification = 0x35;
static const Shortint cmdcModifySM = 0x36;
static const Shortint cmdcInquireSM = 0x37;
static const Shortint cmdcDeleteSM = 0x38;
static const Shortint cmdsResponseInquirySM = 0x39;
static const Shortint cmdsResponseDeleteSM = 0x3a;
static const Shortint cmdcSessionManagement = 0x3c;
static const Shortint cmdcProvisioningActions = 0x3d;
static const Shortint ntDN = 0x1;
static const Shortint ntND = 0x2;
static const Shortint ntBN = 0x4;
static const Shortint dsDelivered = 0x0;
static const Shortint dsBuffered = 0x1;
static const Shortint dsNotDelivered = 0x2;
static const Shortint mclDisplay = 0x0;
static const Shortint mclME = 0x1;
static const Shortint mclSIM = 0x2;
static const Shortint mclTE = 0x3;
static const Byte mclDefault = 0xff;
static const Shortint rpNone = 0x0;
static const Shortint rpRequest = 0x1;
static const Shortint rpResponse = 0x2;
extern PACKAGE System::ResourceString _sDeliveryStatus;
#define Emi_sDeliveryStatus System::LoadResourceString(&Emi::_sDeliveryStatus)
extern PACKAGE System::ResourceString _sReplyPath;
#define Emi_sReplyPath System::LoadResourceString(&Emi::_sReplyPath)
extern PACKAGE System::ResourceString _sMessageClass;
#define Emi_sMessageClass System::LoadResourceString(&Emi::_sMessageClass)
extern PACKAGE AnsiString __fastcall ArrayToData(AnsiString * A, const int A_Size);
extern PACKAGE int __fastcall DataFieldCount(const AnsiString aData);
extern PACKAGE AnsiString __fastcall DataFieldStr(AnsiString aData, int N);
extern PACKAGE Variant __fastcall ArrayToVar(AnsiString * A, const int A_Size);
extern PACKAGE Variant __fastcall DataToVariant(AnsiString aData);
extern PACKAGE AnsiString __fastcall DTToVP(System::TDateTime DT);
extern PACKAGE System::TDateTime __fastcall VPToDT(const AnsiString VP);
extern PACKAGE void __fastcall EMIError(int aErrCode, const AnsiString Msg);
extern PACKAGE AnsiString __fastcall GetResourceString2(const AnsiString aErrCode, const AnsiString aResourceS);
extern PACKAGE AnsiString __fastcall GetResourceString(int aErrCode, int aBaseId);
extern PACKAGE AnsiString __fastcall GetErrorString(AnsiString aErr)/* overload */;
extern PACKAGE AnsiString __fastcall GetErrorString(int aErr)/* overload */;
extern PACKAGE AnsiString __fastcall GetReasonString(AnsiString aErr)/* overload */;
extern PACKAGE AnsiString __fastcall GetReasonString(int aErr)/* overload */;
extern PACKAGE TRetrieveDeliverySMItem* __fastcall GetDeliverySMItem(AnsiString aData);
extern PACKAGE TRetrieveDeliveryNotificationItem* __fastcall GetDeliveryNotificationItem(AnsiString aData);
extern PACKAGE void __fastcall Register(void);

}	/* namespace Emi */
using namespace Emi;
#pragma pack(pop)
#pragma option pop

#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif	// Emi

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -