📄 gsm.hpp
字号:
// 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 + -