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

📄 rilsimtkit.h

📁 ril source code for Windows CE
💻 H
📖 第 1 页 / 共 2 页
字号:
    HRESULT ParseSetupIdleModeText(void);
    HRESULT ParseUnsolicitedData(void);
    HRESULT ParseRefresh(BYTE* pbCmdQualifier);
    HRESULT ParseEventList(void);
    HRESULT ParseLaunchBrowser(BYTE* pbCmdQualifier);
    HRESULT ParseProvisionFile(LPBYTE& rpbParse);
    HRESULT ParseReceiveData(void);
    HRESULT ParseSendData(void);
    HRESULT ParseLanguageNotification(void);

    // Functions to read each TLV
    HRESULT ReadDuration();
    HRESULT ReadMenuItem();
    HRESULT ReadNextAction();
    HRESULT ReadItemIdentifier();
    HRESULT ReadResponseLength();
    HRESULT ReadSubAddress();
    HRESULT ReadCapability();
    HRESULT ReadFileList();
    HRESULT ReadProvisionFileList();
    HRESULT ReadBufferSize();
    HRESULT ReadTransportLevel();
    HRESULT ReadIconIdentifierList();
    HRESULT ReadImmediate();
    HRESULT ReadDTMF();

    HRESULT ReadTone() { ASSERT(m_dwTone == SIMTONE_DEFAULT); return ReadCommonByte(&m_dwTone); }
    HRESULT ReadBrowserIdentity() { return ReadCommonByte(&m_dwBrowserId); }
    HRESULT ReadChannelDataLength() { return ReadCommonByte(&m_dwChannelDataLength); }
    HRESULT ReadTPDU()  { return ReadCommonByteList(&m_lpbTPDU, &m_dwTPDULen); }
    HRESULT ReadEventList()  { return ReadCommonByteList(&m_lpbEventList, &m_dwEventListLen); }
    HRESULT ReadBearer() { return ReadCommonByteList(&m_lpbBearer, &m_dwBearerLen); }
    HRESULT ReadChannelData() { return ReadCommonByteList(&m_lpbChannelData, &m_dwChannelDataLen); }
    HRESULT ReadBearerDescription() { return ReadCommonByteAndByteList( &m_dwBearerDescType, &m_lpbBearerDesc, &m_dwBearerDescLen); }
    HRESULT ReadAddress() { return ReadDialNumberString(&m_pwszAddress, &m_dwAddressLen); }
    HRESULT ReadShortString() { return ReadDialNumberString(&m_pwszUSSD, &m_dwUSSDLen); }
    HRESULT ReadTextString() { return ReadCommonTextString(&m_pwszText, &m_dwTextLen); }
    HRESULT ReadDefaultTextString() { return ReadCommonTextString(&m_pwszDefaultText, &m_dwDefaultTextLen); }
    HRESULT ReadUSSD() { return ReadCommonTextString(&m_pwszUSSD, &m_dwUSSDLen); }
    HRESULT ReadLanguage() { return ReadCommonEFADNText(&m_pwszLanguage, &m_dwLanguageLen); }
    HRESULT ReadAlphaIdentifier() { return ReadCommonEFADNText(&m_pwszAlphaId, &m_dwAlphaIdLen); }
    HRESULT ReadURL() { return ReadCommonEFADNText(&m_pwszURL, &m_dwURLLen); }
    HRESULT ReadATCommand() { return ReadCommonEFADNText(&m_pwszText, &m_dwTextLen); }
    HRESULT ReadAlphaIdentifier2() { return ReadCommonEFADNText(&m_pwszAlphaId2, &m_dwAlphaId2Len); }
    HRESULT ReadIconIdentifier() { return ReadCommonIconIdentifier(&m_dwIconIdentifier, &m_dwIconQualifier); }
    HRESULT ReadIconIdentifier2() { return ReadCommonIconIdentifier(&m_dwIconIdentifier2, &m_dwIconQualifier2); }

    // Once we've parsed, we need to build up our structures
    HRESULT BuildSIMPOLLINGINTERVAL(DWORD dwNotifyCode, BYTE bCmdQualifier, LPBYTE *ppbResult, DWORD *lpdwSize);
    HRESULT BuildSIMLOCALINFO(DWORD dwNotifyCode, BYTE bCmdQualifier, LPBYTE *ppbResult, DWORD *lpdwSize);
    HRESULT BuildSIMCALL(DWORD dwNotifyCode, BYTE bCmdQualifier, LPBYTE *ppbResult, DWORD *lpdwSize);
    HRESULT BuildSIMTONE(DWORD dwNotifyCode, BYTE bCmdQualifier, LPBYTE *ppbResult, DWORD *lpdwSize);
    HRESULT BuildSIMTEXT(DWORD dwNotifyCode, BYTE bCmdQualifier, LPBYTE *ppbResult, DWORD *lpdwSize);
    HRESULT BuildSIMMENU(DWORD dwNotifyCode, BYTE bCmdQualifier, LPBYTE *ppbResult, DWORD *lpdwSize);
    HRESULT BuildSIMREFRESH(DWORD dwNotifyCode, BYTE bCmdQualifier, LPBYTE *ppbResult, DWORD *lpdwSize);
    HRESULT BuildSIMUSSD(DWORD dwNotifyCode, BYTE bCmdQualifier, LPBYTE *ppbResult, DWORD *lpdwSize);
    HRESULT BuildSIMSMS(DWORD dwNotifyCode, BYTE bCmdQualifier, LPBYTE *ppbResult, DWORD *lpdwSize);
    HRESULT BuildSIMEVENTLIST(DWORD dwNotifyCode, BYTE bCmdQualifier, LPBYTE *ppbResult, DWORD *lpdwSize);
    HRESULT BuildSIMLAUNCHBROWSER(DWORD dwNotifyCode, BYTE bCmdQualifier, LPBYTE *ppbResult, DWORD *lpdwSize);
    HRESULT BuildSIMSENDDTMF(DWORD dwNotifyCode, BYTE bCmdQualifier, LPBYTE *ppbResult, DWORD *lpdwSize);
    HRESULT BuildSIMOPENCHANNEL(DWORD dwNotifyCode, BYTE bCmdQualifier, LPBYTE *ppbResult, DWORD *lpdwSize);
    HRESULT BuildSIMCLOSECHANNEL(DWORD dwNotifyCode, BYTE bCmdQualifier, LPBYTE *ppbResult, DWORD *lpdwSize);
    HRESULT BuildSIMSENDDATA(DWORD dwNotifyCode, BYTE bCmdQualifier, LPBYTE *ppbResult, DWORD *lpdwSize);
    HRESULT BuildSIMRECEIVEDATA(DWORD dwNotifyCode, BYTE bCmdQualifier, LPBYTE *ppbResult, DWORD *lpdwSize);
    HRESULT BuildSIMLANGUAGE(DWORD dwNotifyCode, BYTE bCmdQualifier, LPBYTE *ppbResult, DWORD *lpdwSize);
    HRESULT BuildSIMRUNATCMD(DWORD dwNotifyCode, BYTE bCmdQualifier, LPBYTE *ppbResult, DWORD *lpdwSize);

    // Functions to parse Open Channel byte commands
    HRESULT ByteParseOpenChannelCS(DWORD* pdwRetVal);
    HRESULT ByteParseOpenChannelGPRS(DWORD* pdwRetVal);

    // Members
    WORD m_fTextNotifications:1;

    // Variables for parsing a command
    LPBYTE m_lpbParse;
    DWORD m_dwParseLen;

    TCHAR *m_pwszAlphaId;
    DWORD m_dwAlphaIdLen;
    TCHAR *m_pwszText;
    DWORD m_dwTextLen;
    TCHAR *m_pwszDefaultText;
    DWORD m_dwDefaultTextLen;
    TCHAR *m_pwszAddress;
    DWORD m_dwAddressLen;
    TCHAR *m_pwszSubAddr;
    DWORD m_dwSubAddrLen;
    TCHAR *m_pwszUSSD;
    DWORD m_dwUSSDLen;
    BYTE *m_lpbTPDU;
    BYTE *m_lpbEventList;
    DWORD *m_pdwFiles;
    DWORD m_dwTPDULen;
    DWORD m_dwEventListLen;
    DWORD m_dwNumFiles;
    DWORD m_dwDuration;
    DWORD m_dwDuration2;
    DWORD m_dwTone;
    DWORD m_dwMinResponse;
    DWORD m_dwMaxResponse;
    DWORD m_dwItemId;
    LPSIMMENUITEM *m_rgpsmi;
    DWORD m_numpsmi;
    DWORD m_dwNumPlan;
    DWORD m_dwAddrType;
    DWORD m_dwBrowserId;
    TCHAR *m_pwszURL;
    DWORD m_dwURLLen;
    BYTE *m_lpbBearer;
    DWORD m_dwBearerLen;
    LPSIMFILEREFERENCE *m_rgpsfr;
    DWORD m_numpsfr;
    TCHAR *m_pwszDTMF;
    DWORD m_dwDTMFLen;
    BYTE *m_lpbChannelData;
    DWORD m_dwChannelDataLen;
    DWORD m_dwChannelDataLength;
    DWORD m_dwDeviceSrcId;
    DWORD m_dwDeviceDestId;
    TCHAR *m_pwszLanguage;
    DWORD m_dwLanguageLen;
    DWORD m_dwLocalAddrType;
    BYTE* m_lpbLocalAddr;
    DWORD m_dwLocalAddrLen;
    DWORD m_dwDestAddrType;
    BYTE* m_lpbDestAddr;
    DWORD m_dwDestAddrLen;
    TCHAR* m_pwszLogin;
    DWORD m_dwLoginLen;
    TCHAR* m_pwszPassword;
    DWORD m_dwPasswordLen;
    DWORD m_dwBearerDescType;
    BYTE* m_lpbBearerDesc;
    DWORD m_dwBearerDescLen;
    DWORD m_dwBufferSize;
    DWORD m_dwProtocolType;
    DWORD m_dwPortNum;
    BYTE* m_lpbAccessName;
    DWORD m_dwAccessNameLen;
    BOOL  m_fImmediateResponse;
    DWORD m_dwIconIdentifier;
    DWORD m_dwIconQualifier;
    TCHAR *m_pwszAlphaId2;
    DWORD m_dwAlphaId2Len;
    DWORD m_dwIconIdentifier2;
    DWORD m_dwIconQualifier2;
};


class CRilSimToolkitResponse
{
public:
    CRilSimToolkitResponse();
    ~CRilSimToolkitResponse();

    HRESULT CreateResponse(const RILSIMTOOLKITRSP* pRsp, LPBYTE pDetails, const DWORD dwDetailSize, LPSTR* pszDataRsp, DWORD *pdwDataRspSize );
    HRESULT CreateEventDownload(const DWORD dwEvent, const LPBYTE pData, const DWORD dwDataSize, LPSTR* szDataRsp, DWORD *pdwDataRspSize);

private:
    // Byte style responses
    HRESULT ByteFormatResponse(const RILSIMTOOLKITRSP* pRsp, const LPBYTE pDetails, const DWORD dwDetailSize, __inout_bcount( *pdwDataRspSize ) LPBYTE pbDataRsp, DWORD *pdwDataRspSize);
    HRESULT ByteEventDownload(const DWORD dwEvent, const LPBYTE pData, const DWORD dwDataSize, __inout_bcount( *pdwDataRspSize ) LPBYTE pbDataRsp, DWORD *pdwDataRspSize);
    // Text style responses
    HRESULT TextFormatResponse(const RILSIMTOOLKITRSP* pRsp, const LPBYTE pDetails, const DWORD dwDetailSize, __inout_ecount( *pdwDataRspSize ) LPBYTE pbDataRsp, DWORD *pdwDataRspSize);
    HRESULT TextEventDownload(const DWORD dwEvent, const LPBYTE pData, const DWORD dwDataSize, __inout_ecount( *pdwDataRspSize ) LPSTR szDataRsp, DWORD *pdwDataRspSize);
    HRESULT SetupMenuResponse(DWORD dwResponse, __inout_ecount( *pdwSize ) BYTE* pbBuffer, DWORD* pdwSize);
    HRESULT SetupMenuReply(DWORD dwResponse, const LPBYTE pDetails, const DWORD dwDetailSize, __inout_ecount( *pdwSize ) BYTE* pbBuffer, DWORD* pdwSize);
    HRESULT SelectItemResponse(DWORD dwResponse, const LPBYTE pDetails, const DWORD dwDetailSize, __inout_ecount( *pdwSize ) BYTE* pbBuffer, DWORD* pdwSize);
    HRESULT DisplayTextResponse(DWORD dwResponse, __inout_ecount( *pdwSize ) BYTE* pbBuffer, DWORD* pdwSize);
    HRESULT GetInputResponse(const RILSIMTOOLKITRSP* pRsp, const LPBYTE pDetails, const DWORD dwDetailSize, __inout_ecount( *pdwSize ) BYTE* pbBuffer, DWORD* pdwSize);
    HRESULT PlayToneResponse(DWORD dwResponse, __inout_ecount( *pdwSize ) BYTE* pbBuffer, DWORD* pdwSize);
    HRESULT SetupIdleModeTextResponse(DWORD dwResponse, __inout_ecount( *pdwSize ) BYTE* pbBuffer, DWORD* pdwSize);
    HRESULT SetupCallResponse(DWORD dwResponse, __inout_ecount( *pdwSize ) BYTE* pbBuffer, DWORD* pdwSize);
    HRESULT EventListResponse(DWORD dwResponse, __inout_ecount( *pdwSize ) BYTE* pbBuffer, DWORD* pdwSize);
    HRESULT LaunchBrowserResponse(const RILSIMTOOLKITRSP* pRsp, __inout_ecount( *pdwSize ) BYTE* pbBuffer, DWORD* pdwSize);
    HRESULT OpenChannelResponse(DWORD dwResponse, __inout_ecount( *pdwSize ) BYTE* pbBuffer, DWORD* pdwSize);
    HRESULT SendDTMFResponse(DWORD dwResponse, __inout_ecount( *pdwSize ) BYTE* pbBuffer, DWORD* pdwSize);

    BOOL m_fTextFormat;
};


class CRilSTKTerminalProfile
{
public:
    CRilSTKTerminalProfile();
    ~CRilSTKTerminalProfile();

    BOOL InitializeDefault(void);
    LPCSTR GetText(void);
    BOOL SetByte(const BYTE *pbValue, const DWORD dwSize);
    const LPBYTE GetByte(void);
    DWORD GetSize(void);

private:
    LPSTR m_szProfileText;      // Stores ANSI text version of terminal profile
    BYTE* m_pbProfile;          // Byte buffer of terminal profile
    DWORD m_dwProfileSize;      // Size in bytes of terminal profile

    BOOL SetTerminalProfile(const BYTE *pbValue, const DWORD dwSize);
    BOOL SetDefaultTerminalProfile(void);
};

⌨️ 快捷键说明

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