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

📄 gsm.hpp

📁 boomerang library 5.11 internet ed
💻 HPP
📖 第 1 页 / 共 2 页
字号:
// Borland C++ Builder
// Copyright (c) 1995, 2005 by Borland Software Corporation
// All rights reserved

// (DO NOT EDIT: machine generated header) 'Gsm.pas' rev: 10.00

#ifndef GsmHPP
#define GsmHPP

#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 <Classes.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <Messages.hpp>	// Pascal unit
#include <Connect.hpp>	// Pascal unit
#include <Commconnect.hpp>	// Pascal unit
#include <Syncobjs.hpp>	// Pascal unit

//-- user supplied -----------------------------------------------------------

namespace Gsm
{
//-- type declarations -------------------------------------------------------
typedef void __fastcall (__closure *TRxCharEvent)(System::TObject* Sender, char aChar);

typedef void __fastcall (__closure *TUnsolicitedLineEvent)(System::TObject* Sender, const AnsiString aLine);

class DELPHICLASS TSMS;
typedef void __fastcall (__closure *TUnsolicitedSMSEvent)(System::TObject* Sender, int Idx, TSMS* aSMS);

typedef void __fastcall (__closure *TNetworkRegistrationEvent)(System::TObject* Sender, int aNewStatus);

typedef void __fastcall (__closure *TBusyChanged)(System::TObject* Sender, bool aBusy);

typedef Set<Byte, 0, 255>  TByteSet;

class DELPHICLASS TGSM;
#pragma option push -b-
enum TGSMEquipment { eqA1, eqM1, eqM20, eqGM12, eqNokia6210, eqNokia6650, eqNokia9110, eqM35, eqS25, eqT260, eqWaveCom, eqTC35, eqFasttrack, eqZText };
#pragma option pop

#pragma option push -b-
enum TGSMUnsolicitedIndication { uindSMSDeliver, uindSMSStatusReport, uindCellBroadcast, uindOnlyIndication };
#pragma option pop

typedef Set<TGSMUnsolicitedIndication, uindSMSDeliver, uindOnlyIndication>  TGSMUnsolicitedIndicationSet;

class DELPHICLASS TGSMAsyncThread;
class PASCALIMPLEMENTATION TGSMAsyncThread : public Classes::TThread 
{
	typedef Classes::TThread inherited;
	
private:
	TGSM* FOwner;
	Syncobjs::TSimpleEvent* FAsyncEvent;
	void __fastcall cmRxChar(void);
	
protected:
	virtual void __fastcall Execute(void);
	HIDESBASE void __fastcall Terminate(void);
	
public:
	__fastcall TGSMAsyncThread(TGSM* aOwner);
	__fastcall virtual ~TGSMAsyncThread(void);
};


class DELPHICLASS TSMS2;
class PASCALIMPLEMENTATION TGSM : public Connect::TConnection 
{
	typedef Connect::TConnection inherited;
	
private:
	TGSMEquipment FEquipment;
	AnsiString FPIN;
	AnsiString FSCA;
	Byte FSMSFormat;
	Commconnect::TComm* FComDevice;
	int FLastError;
	AnsiString FLastErrorMsg;
	int FNetworkRegistration;
	int FRepeatCount;
	int FRecTimeout;
	int FRepeatTimeout;
	Classes::TStrings* FErrorCodes;
	AnsiString FSyncATCmd;
	Classes::TStrings* FSyncATResult;
	unsigned FSyncATResultTick;
	Byte FSyncWaitFor;
	Byte FSyncSignaled;
	Syncobjs::TEvent* FSyncEvent;
	bool FReceivingCmdFlag;
	int FBusyFlag;
	TGSMUnsolicitedIndicationSet FUnsolicitedIndication;
	Syncobjs::TCriticalSection* FCriticalSection;
	int FProcessedRxChars;
	TSMS* FUnsolicitedSMS;
	int FNextRxLineLength;
	int FNextRxOmitLength;
	AnsiString FRxBuffer;
	AnsiString FSyncRxBuffer;
	Connect::TCommRxCharEvent FSaveOnRxChar;
	bool FSaveActive;
	bool FSaveDontSynchronize;
	TRxCharEvent FOnRxChar;
	TUnsolicitedLineEvent FOnUnsolicitedLine;
	TUnsolicitedSMSEvent FOnUnsolicitedSMS;
	TNetworkRegistrationEvent FOnNetworkRegistration;
	TBusyChanged FOnBusyChanged;
	bool FExtendedErrorMsg;
	Classes::TStrings* FCachedParams;
	AnsiString Fmem1;
	int FPhase;
	bool FCommandEcho;
	void __fastcall SetPIN(AnsiString Value);
	void __fastcall SetSMSFormat(Byte Value);
	void __fastcall SetUnsolicitedIndication(TGSMUnsolicitedIndicationSet Value);
	void __fastcall SetSCA(AnsiString Value);
	void __fastcall SetComDevice(Commconnect::TComm* Value);
	void __fastcall DoComRxChar(System::TObject* Sender, int Count);
	void __fastcall cmRxChar(void);
	bool __fastcall GetIsBusy(void);
	void __fastcall SetEquipment(const TGSMEquipment Value);
	void __fastcall Setmem1(const AnsiString Value);
	int __fastcall RxBufferLength(void);
	char __fastcall RxBufferI(int I);
	void __fastcall SetErrorCodes(const Classes::TStrings* Value);
	void __fastcall SetCommandEcho(const bool Value);
	void __fastcall DoSetCommandEcho(void);
	
protected:
	TGSMAsyncThread* FAsyncThread;
	virtual void __fastcall OpenConn(void);
	virtual void __fastcall CloseConn(void);
	void __fastcall OpenComDevice(void);
	void __fastcall CloseComDevice(bool aRestore);
	virtual void __fastcall DoRxChar(char aChar);
	virtual void __fastcall ProcessRxLine(const AnsiString aLine);
	virtual void __fastcall DoUnsolicitedLine(const AnsiString aLine);
	virtual void __fastcall DoUnsolicitedSMS(int Idx, TSMS* aSMS);
	virtual void __fastcall DoNetworkRegistration(int aNewStatus);
	virtual void __fastcall DoBusyChanged(bool aBusy);
	virtual int __fastcall GetCMGLength(TSMS2* aSMS);
	virtual TGSMUnsolicitedIndicationSet __fastcall DoSetUnsolicitedIndication(TGSMUnsolicitedIndicationSet Value);
	bool __fastcall SCAinPDU(void);
	AnsiString __fastcall GetMEId(int Index);
	
public:
	__fastcall virtual TGSM(Classes::TComponent* AOwner);
	__fastcall virtual ~TGSM(void);
	void __fastcall SetDefaults(void);
	void __fastcall Busy(void);
	void __fastcall Unbusy(void);
	int __fastcall SendATCommand(const AnsiString aCmd, Byte aWaitFor, Classes::TStrings* aResultS, int RepCount = 0x0);
	int __fastcall CheckAT(int aRes);
	int __fastcall SendSMS(TSMS2* aSMS);
	TSMS* __fastcall ReadSMS(int aIndex, int &Stat);
	void __fastcall DeleteSMS(int aIndex);
	Classes::TStrings* __fastcall GetSMSList(int aStat);
	void __fastcall SwitchOff(void);
	TByteSet __fastcall GetSupportedSMSFormats();
	__property bool IsBusy = {read=GetIsBusy, nodefault};
	__property int LastError = {read=FLastError, write=FLastError, nodefault};
	__property AnsiString LastErrorMsg = {read=FLastErrorMsg, write=FLastErrorMsg};
	__property Classes::TStrings* ErrorCodes = {read=FErrorCodes, write=SetErrorCodes};
	__property int NetworkRegistration = {read=FNetworkRegistration, nodefault};
	__property AnsiString mem1 = {read=Fmem1, write=Setmem1};
	__property AnsiString ManufacturerId = {read=GetMEId, index=1};
	__property AnsiString ModelId = {read=GetMEId, index=2};
	__property AnsiString RevisionId = {read=GetMEId, index=3};
	__property AnsiString SerialNumberId = {read=GetMEId, index=4};
	
__published:
	__property TGSMEquipment Equipment = {read=FEquipment, write=SetEquipment, nodefault};
	__property Byte SMSFormat = {read=FSMSFormat, write=SetSMSFormat, nodefault};
	__property TGSMUnsolicitedIndicationSet UnsolicitedIndication = {read=FUnsolicitedIndication, write=SetUnsolicitedIndication, nodefault};
	__property AnsiString PIN = {read=FPIN, write=SetPIN};
	__property AnsiString SCA = {read=FSCA, write=SetSCA};
	__property Commconnect::TComm* COMDevice = {read=FComDevice, write=SetComDevice};
	__property bool CommandEcho = {read=FCommandEcho, write=SetCommandEcho, default=1};
	__property bool ExtendedErrorMsg = {read=FExtendedErrorMsg, write=FExtendedErrorMsg, default=0};
	__property int RepeatCount = {read=FRepeatCount, write=FRepeatCount, default=5};
	__property int RecTimeout = {read=FRecTimeout, write=FRecTimeout, default=6000};
	__property int RepeatTimeout = {read=FRepeatTimeout, write=FRepeatTimeout, default=500};
	__property TRxCharEvent OnRxChar = {read=FOnRxChar, write=FOnRxChar};
	__property TUnsolicitedLineEvent OnUnsolicitedLine = {read=FOnUnsolicitedLine, write=FOnUnsolicitedLine};
	__property TUnsolicitedSMSEvent OnUnsolicitedSMS = {read=FOnUnsolicitedSMS, write=FOnUnsolicitedSMS};
	__property TNetworkRegistrationEvent OnNetworkRegistration = {read=FOnNetworkRegistration, write=FOnNetworkRegistration};
	__property TBusyChanged OnBusyChanged = {read=FOnBusyChanged, write=FOnBusyChanged};
};


class PASCALIMPLEMENTATION TSMS : public System::TObject 
{
	typedef System::TObject inherited;
	
private:
	TGSM* FGSM;
	AnsiString __fastcall GetPDU();
	void __fastcall SetPDU(const AnsiString Value);
	Byte __fastcall Byte2BCD(Byte B);
	Byte __fastcall BCD2Byte(Byte B);
	AnsiString __fastcall DecodeString(AnsiString S, bool aSeptets);
	AnsiString __fastcall EncodeString(AnsiString S, bool aSeptets, bool aLengthInSeptets);
	
protected:
	bool __fastcall GetBit(Byte aVar, int Index);
	void __fastcall SetBit(Byte &aVar, int Index, bool Value);
	Byte __fastcall Get2Bits(Byte aVar, int Index);
	void __fastcall Set2Bits(Byte &aVar, int Index, Byte Value);
	virtual AnsiString __fastcall EncodePDU(void) = 0 ;
	virtual void __fastcall DecodePDU(const AnsiString Value) = 0 ;
	
public:
	__property AnsiString PDU = {read=GetPDU, write=SetPDU};
	__property TGSM* GSM = {read=FGSM, write=FGSM};
public:
	#pragma option push -w-inl
	/* TObject.Create */ inline __fastcall TSMS(void) : System::TObject() { }
	#pragma option pop
	#pragma option push -w-inl
	/* TObject.Destroy */ inline __fastcall virtual ~TSMS(void) { }
	#pragma option pop
	
};


class PASCALIMPLEMENTATION TSMS2 : public TSMS 
{
	typedef TSMS inherited;
	
private:
	AnsiString FSCA;
	Byte FPDUType;
	AnsiString __fastcall EncodeODA(const AnsiString ODA);
	AnsiString __fastcall DecodeODA(const AnsiString ODA, int &I);
	AnsiString __fastcall DecodeSCA(const AnsiString SCA, int &I);
	AnsiString __fastcall EncodeUD();
	void __fastcall DecodeUD(const AnsiString S);
	AnsiString __fastcall EncodeStamp(System::TDateTime DT);
	System::TDateTime __fastcall DecodeStamp(const AnsiString DT);
	AnsiString __fastcall EncodeTextStamp(System::TDateTime DT, Shortint TZ);
	System::TDateTime __fastcall DecodeTextStamp(const AnsiString DT, Shortint &TZ);
	void __fastcall SetSCA(const AnsiString Value);
	WideString __fastcall GetWideUD();
	void __fastcall SetWideUD(const WideString Value);
	void __fastcall AdjustODA(AnsiString &ODA, const AnsiString TOODA);
	
protected:
	Byte FDCS;
	AnsiString FUD;
	__property AnsiString UD = {read=FUD, write=FUD};
	__property WideString WideUD = {read=GetWideUD, write=SetWideUD};
	bool __fastcall GetPDUTypeBit(int Index);
	void __fastcall SetPDUTypeBit(int Index, bool Value);
	Byte __fastcall GetPDUType2Bits(int Index);
	void __fastcall SetPDUType2Bits(int Index, Byte Value);
	
public:
	/*         class method */ static TSMS2* __fastcall CreateSMS(TMetaClass* vmt, TGSM* aOwner, const AnsiString aPDU, bool aMTDir);
	__property Byte PDUType = {read=FPDUType, write=FPDUType, nodefault};
	__property Byte MTI = {read=GetPDUType2Bits, write=SetPDUType2Bits, index=0, nodefault};
	__property Byte DCS = {read=FDCS, write=FDCS, nodefault};
	__property AnsiString SCA = {read=FSCA, write=SetSCA};
public:
	#pragma option push -w-inl
	/* TObject.Create */ inline __fastcall TSMS2(void) : TSMS() { }
	#pragma option pop
	#pragma option push -w-inl
	/* TObject.Destroy */ inline __fastcall virtual ~TSMS2(void) { }
	#pragma option pop
	
};


class DELPHICLASS TSMSDeliver;
class PASCALIMPLEMENTATION TSMSDeliver : public TSMS2 
{
	typedef TSMS2 inherited;
	
private:
	Byte FPID;
	AnsiString FOA;
	System::TDateTime FSCTS;
	Shortint FSCTSTZ;
	
protected:
	virtual AnsiString __fastcall EncodePDU();
	virtual void __fastcall DecodePDU(const AnsiString Value);
	
public:
	__fastcall virtual TSMSDeliver(void);
	__property Byte PID = {read=FPID, write=FPID, nodefault};
	__property AnsiString OA = {read=FOA, write=FOA};
	__property System::TDateTime SCTS = {read=FSCTS, write=FSCTS};
	__property Shortint SCTSTZ = {read=FSCTSTZ, write=FSCTSTZ, nodefault};
	__property bool SRI = {read=GetPDUTypeBit, write=SetPDUTypeBit, index=5, nodefault};
	__property bool MMS = {read=GetPDUTypeBit, write=SetPDUTypeBit, index=2, nodefault};
	__property bool RP = {read=GetPDUTypeBit, write=SetPDUTypeBit, index=7, nodefault};
	__property bool UDHI = {read=GetPDUTypeBit, write=SetPDUTypeBit, index=6, nodefault};
	__property UD ;
	__property WideUD ;
public:
	#pragma option push -w-inl
	/* TObject.Destroy */ inline __fastcall virtual ~TSMSDeliver(void) { }
	#pragma option pop
	
};


class DELPHICLASS TSMSSubmit;
class PASCALIMPLEMENTATION TSMSSubmit : public TSMS2 
{
	typedef TSMS2 inherited;
	
private:
	Byte FPID;
	AnsiString FDA;
	Byte FMR;
	System::TDateTime FVP;
	Shortint FVPTZ;
	
protected:
	virtual AnsiString __fastcall EncodePDU();
	virtual void __fastcall DecodePDU(const AnsiString Value);
	
public:
	__fastcall virtual TSMSSubmit(void);
	__property Byte PID = {read=FPID, write=FPID, nodefault};
	__property AnsiString DA = {read=FDA, write=FDA};
	__property Byte MR = {read=FMR, write=FMR, nodefault};
	__property System::TDateTime VP = {read=FVP, write=FVP};
	__property Shortint VPTZ = {read=FVPTZ, write=FVPTZ, nodefault};
	__property Byte VPF = {read=GetPDUType2Bits, write=SetPDUType2Bits, index=3, nodefault};
	__property bool SRR = {read=GetPDUTypeBit, write=SetPDUTypeBit, index=5, nodefault};
	__property bool RD = {read=GetPDUTypeBit, write=SetPDUTypeBit, index=2, nodefault};

⌨️ 快捷键说明

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