blob: 5bc54d3891f802c280f1664c26852ccd2a5a3603 [file] [log] [blame]
/*===========================================================================
FILE:
mock_gobi_sdk_wrapper.h,
derived from
gobi_sdk_wrapper.h, QCWWANCMAPI2k.h
DESCRIPTION:
QUALCOMM Wireless WAN Connection Manager API for Gobi 2000
Copyright (C) 2009 QUALCOMM Incorporated. All rights reserved.
QUALCOMM Proprietary/GTDR
All data and information contained in or disclosed by this document is
confidential and proprietary information of QUALCOMM Incorporated and all
rights therein are expressly reserved. By accepting this material the
recipient agrees that this material and the information contained therein
is held in confidence and in trust and will not be used, copied, reproduced
in whole or in part, nor its contents revealed in any manner to others
without the express written permission of QUALCOMM Incorporated.
==========================================================================*/
#include <gtest/gtest.h>
namespace gobi {
// ErrorSdk overrides every QCWWAN API method in gobi::Sdk. It
// returns an error for every SDK call (except for those that register
// callbacks---they always succeed without doing anything). Depending
// on the setting of strict_, calls to the ErrorSdk will also make the
// current test fail.
class ErrorSdk : public gobi::Sdk {
public:
ErrorSdk() : Sdk(NULL),strict_(false) {}
virtual ULONG QCWWANEnumerateDevices(
BYTE * pDevicesSize,
BYTE * pDevices) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG QCWWANConnect(
CHAR * pDeviceNode,
CHAR * pDeviceKey) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG QCWWANDisconnect() {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG QCWWANGetConnectedDeviceID(
ULONG deviceNodeSize,
CHAR * pDeviceNode,
ULONG deviceKeySize,
CHAR * pDeviceKey) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetSessionState(ULONG * pState) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetSessionDuration(ULONGLONG * pDuration) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetDormancyState(ULONG * pState) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetAutoconnect(ULONG * pSetting) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG SetAutoconnect(ULONG setting) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG SetDefaultProfile(
ULONG profileType,
ULONG * pPDPType,
ULONG * pIPAddress,
ULONG * pPrimaryDNS,
ULONG * pSecondaryDNS,
ULONG * pAuthentication,
CHAR * pName,
CHAR * pAPNName,
CHAR * pUsername,
CHAR * pPassword) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetDefaultProfile(
ULONG profileType,
ULONG * pPDPType,
ULONG * pIPAddress,
ULONG * pPrimaryDNS,
ULONG * pSecondaryDNS,
ULONG * pAuthentication,
BYTE nameSize,
CHAR * pName,
BYTE apnSize,
CHAR * pAPNName,
BYTE userSize,
CHAR * pUsername) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG StartDataSession(
ULONG * pTechnology,
CHAR * pAPNName,
ULONG * pAuthentication,
CHAR * pUsername,
CHAR * pPassword,
ULONG * pSessionId,
ULONG * pFailureReason) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG CancelStartDataSession() {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG StopDataSession(ULONG sessionId) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetIPAddress(ULONG * pIPAddress) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetConnectionRate(
ULONG * pCurrentChannelTXRate,
ULONG * pCurrentChannelRXRate,
ULONG * pMaxChannelTXRate,
ULONG * pMaxChannelRXRate) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetPacketStatus(
ULONG * pTXPacketSuccesses,
ULONG * pRXPacketSuccesses,
ULONG * pTXPacketErrors,
ULONG * pRXPacketErrors,
ULONG * pTXPacketOverflows,
ULONG * pRXPacketOverflows) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetByteTotals(
ULONGLONG * pTXTotalBytes,
ULONGLONG * pRXTotalBytes) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG SetMobileIP(ULONG mode) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetMobileIP(ULONG * pMode) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG SetActiveMobileIPProfile(
CHAR * pSPC,
BYTE index) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetActiveMobileIPProfile(BYTE * pIndex) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG SetMobileIPProfile(
CHAR * pSPC,
BYTE index,
BYTE * pEnabled,
ULONG * pAddress,
ULONG * pPrimaryHA,
ULONG * pSecondaryHA,
BYTE * pRevTunneling,
CHAR * pNAI,
ULONG * pHASPI,
ULONG * pAAASPI,
CHAR * pMNHA,
CHAR * pMNAAA) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetMobileIPProfile(
BYTE index,
BYTE * pEnabled,
ULONG * pAddress,
ULONG * pPrimaryHA,
ULONG * pSecondaryHA,
BYTE * pRevTunneling,
BYTE naiSize,
CHAR * pNAI,
ULONG * pHASPI,
ULONG * pAAASPI,
ULONG * pHAState,
ULONG * pAAAState) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG SetMobileIPParameters(
CHAR * pSPC,
ULONG * pMode,
BYTE * pRetryLimit,
BYTE * pRetryInterval,
BYTE * pReRegPeriod,
BYTE * pReRegTraffic,
BYTE * pHAAuthenticator,
BYTE * pHA2002bis) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetMobileIPParameters(
ULONG * pMode,
BYTE * pRetryLimit,
BYTE * pRetryInterval,
BYTE * pReRegPeriod,
BYTE * pReRegTraffic,
BYTE * pHAAuthenticator,
BYTE * pHA2002bis) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetLastMobileIPError(ULONG * pError) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetANAAAAuthenticationStatus(ULONG * pStatus) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetSignalStrengths(
ULONG * pArraySizes,
INT8 * pSignalStrengths,
ULONG * pRadioInterfaces) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetRFInfo(
BYTE * pInstanceSize,
BYTE * pInstances) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG PerformNetworkScan(
BYTE * pInstanceSize,
BYTE * pInstances) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG InitiateNetworkRegistration(
ULONG regType,
WORD mcc,
WORD mnc,
ULONG rat) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG InitiateDomainAttach(ULONG action) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetServingNetwork(
ULONG * pRegistrationState,
ULONG * pRAN,
BYTE * pRadioIfacesSize,
BYTE * pRadioIfaces,
ULONG * pRoaming,
WORD * pMCC,
WORD * pMNC) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetServingNetworkCapabilities(
BYTE * pDataCapsSize,
BYTE * pDataCaps) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetDataBearerTechnology(ULONG * pDataBearer) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetHomeNetwork(
WORD * pMCC,
WORD * pMNC,
BYTE nameSize,
CHAR * pName,
WORD * pSID,
WORD * pNID) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG SetNetworkPreference(
ULONG technologyPref,
ULONG duration) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetNetworkPreference(
ULONG * pTechnologyPref,
ULONG * pDuration,
ULONG * pPersistentTechnologyPref) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG SetCDMANetworkParameters(
CHAR * pSPC,
BYTE * pForceRev0,
BYTE * pCustomSCP,
ULONG * pProtocol,
ULONG * pBroadcast,
ULONG * pApplication,
ULONG * pRoaming) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetCDMANetworkParameters(
BYTE * pSCI,
BYTE * pSCM,
BYTE * pRegHomeSID,
BYTE * pRegForeignSID,
BYTE * pRegForeignNID,
BYTE * pForceRev0,
BYTE * pCustomSCP,
ULONG * pProtocol,
ULONG * pBroadcast,
ULONG * pApplication,
ULONG * pRoaming) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetACCOLC(BYTE * pACCOLC) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG SetACCOLC(
CHAR * pSPC,
BYTE accolc) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetDeviceCapabilities(
ULONG * pMaxTXChannelRate,
ULONG * pMaxRXChannelRate,
ULONG * pDataServiceCapability,
ULONG * pSimCapability,
ULONG * pRadioIfacesSize,
BYTE * pRadioIfaces) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetManufacturer(
BYTE stringSize,
CHAR * pString) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetModelID(
BYTE stringSize,
CHAR * pString) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetFirmwareRevision(
BYTE stringSize,
CHAR * pString) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetFirmwareRevisions(
BYTE amssSize,
CHAR * pAMSSString,
BYTE bootSize,
CHAR * pBootString,
BYTE priSize,
CHAR * pPRIString) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetFirmwareInfo(
ULONG * pFirmwareID,
ULONG * pTechnology,
ULONG * pCarrier,
ULONG * pRegion,
ULONG * pGPSCapability) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetVoiceNumber(
BYTE voiceNumberSize,
CHAR * pVoiceNumber,
BYTE minSize,
CHAR * pMIN) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetIMSI(
BYTE stringSize,
CHAR * pString) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetSerialNumbers(
BYTE esnSize,
CHAR * pESNString,
BYTE imeiSize,
CHAR * pIMEIString,
BYTE meidSize,
CHAR * pMEIDString) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG SetLock(
ULONG state,
CHAR * pCurrentPIN) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG QueryLock(ULONG * pState) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG ChangeLockPIN(
CHAR * pCurrentPIN,
CHAR * pDesiredPIN) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetHardwareRevision(
BYTE stringSize,
CHAR * pString) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetPRLVersion(WORD * pPRLVersion) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetERIFile(
ULONG * pFileSize,
BYTE * pFile) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG ActivateAutomatic(const CHAR * pActivationCode) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG ActivateManual(
const CHAR * pSPC,
WORD sid,
const CHAR * pMDN,
const CHAR * pMIN,
ULONG prlSize,
BYTE * pPRL,
const CHAR * pMNHA,
const CHAR * pMNAAA) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG ResetToFactoryDefaults(CHAR * pSPC) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetActivationState(ULONG * pActivationState) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG SetPower(ULONG powerMode) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetPower(ULONG * pPowerMode) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetOfflineReason(
ULONG * pReasonMask,
ULONG * pbPlatform) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetNetworkTime(
ULONGLONG * pTimeCount,
ULONG * pTimeSource) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG ValidateSPC(CHAR * pSPC) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG DeleteSMS(
ULONG storageType,
ULONG * pMessageIndex,
ULONG * pMessageTag) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetSMSList(
ULONG storageType,
ULONG * pRequestedTag,
ULONG * pMessageListSize,
BYTE * pMessageList) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetSMS(
ULONG storageType,
ULONG messageIndex,
ULONG * pMessageTag,
ULONG * pMessageFormat,
ULONG * pMessageSize,
BYTE * pMessage) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG ModifySMSStatus(
ULONG storageType,
ULONG messageIndex,
ULONG messageTag) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG SaveSMS(
ULONG storageType,
ULONG messageFormat,
ULONG messageSize,
BYTE * pMessage,
ULONG * pMessageIndex) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG SendSMS(
ULONG messageFormat,
ULONG messageSize,
BYTE * pMessage,
ULONG * pMessageFailureCode) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetSMSCAddress(
BYTE addressSize,
CHAR * pSMSCAddress,
BYTE typeSize,
CHAR * pSMSCType) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG SetSMSCAddress(
CHAR * pSMSCAddress,
CHAR * pSMSCType) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG UIMSetPINProtection(
ULONG id,
ULONG bEnable,
CHAR * pValue,
ULONG * pVerifyRetriesLeft,
ULONG * pUnblockRetriesLeft) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG UIMVerifyPIN(
ULONG id,
CHAR * pValue,
ULONG * pVerifyRetriesLeft,
ULONG * pUnblockRetriesLeft) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG UIMUnblockPIN(
ULONG id,
CHAR * pPUKValue,
CHAR * pNewValue,
ULONG * pVerifyRetriesLeft,
ULONG * pUnblockRetriesLeft) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG UIMChangePIN(
ULONG id,
CHAR * pOldValue,
CHAR * pNewValue,
ULONG * pVerifyRetriesLeft,
ULONG * pUnblockRetriesLeft) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG UIMGetPINStatus(
ULONG id,
ULONG * pStatus,
ULONG * pVerifyRetriesLeft,
ULONG * pUnblockRetriesLeft) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG UIMGetICCID(
BYTE stringSize,
CHAR * pString) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG UIMGetControlKeyStatus(
ULONG id,
ULONG * pStatus,
ULONG * pVerifyRetriesLeft,
ULONG * pUnblockRetriesLeft) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG UIMSetControlKeyProtection(
ULONG id,
ULONG status,
CHAR * pValue,
ULONG * pVerifyRetriesLeft) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG UIMUnblockControlKey(
ULONG id,
CHAR * pValue,
ULONG * pUnblockRetriesLeft) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetPDSState(
ULONG * pEnabled,
ULONG * pTracking) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG SetPDSState(ULONG enable) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG PDSInjectTimeReference(
ULONGLONG systemTime,
USHORT systemDiscontinuities) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetPDSDefaults(
ULONG * pOperation,
BYTE * pTimeout,
ULONG * pInterval,
ULONG * pAccuracy) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG SetPDSDefaults(
ULONG operation,
BYTE timeout,
ULONG interval,
ULONG accuracy) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetXTRAAutomaticDownload(
ULONG * pbEnabled,
USHORT * pInterval) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG SetXTRAAutomaticDownload(
ULONG bEnabled,
USHORT interval) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetXTRANetwork(ULONG * pPreference) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG SetXTRANetwork(ULONG preference) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetXTRAValidity(
USHORT * pGPSWeek,
USHORT * pGPSWeekOffset,
USHORT * pDuration) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG ForceXTRADownload() {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetAGPSConfig(
ULONG * pServerAddress,
ULONG * pServerPort) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG SetAGPSConfig(
ULONG serverAddress,
ULONG serverPort) {
if (strict_) {
ADD_FAILURE() << kBadCall << __PRETTY_FUNCTION__;
}
return kGeneralError;
}
virtual ULONG GetServiceAutomaticTracking(ULONG * pbAuto) {
if (strict_) {
ADD_FAILURE() << kBadCall << "GetServiceAutomaticTracking";
}
return kGeneralError;
}
virtual ULONG SetServiceAutomaticTracking(ULONG bAuto) {
if (strict_) {
ADD_FAILURE() << kBadCall << "SetServiceAutomaticTracking";
}
return kGeneralError;
}
virtual ULONG GetPortAutomaticTracking(ULONG * pbAuto) {
if (strict_) {
ADD_FAILURE() << kBadCall << "GetPortAutomaticTracking";
}
return kGeneralError;
}
virtual ULONG SetPortAutomaticTracking(ULONG bAuto) {
if (strict_) {
ADD_FAILURE() << kBadCall << "SetPortAutomaticTracking";
}
return kGeneralError;
}
virtual ULONG ResetPDSData(
ULONG * pGPSDataMask,
ULONG * pCellDataMask) {
if (strict_) {
ADD_FAILURE() << kBadCall << "ResetPDSData";
}
return kGeneralError;
}
virtual ULONG CATSendTerminalResponse(
ULONG refID,
ULONG dataLen,
BYTE * pData) {
if (strict_) {
ADD_FAILURE() << kBadCall << "CATSendTerminalResponse";
}
return kGeneralError;
}
virtual ULONG CATSendEnvelopeCommand(
ULONG cmdID,
ULONG dataLen,
BYTE * pData) {
if (strict_) {
ADD_FAILURE() << kBadCall << "CATSendEnvelopeCommand";
}
return kGeneralError;
}
virtual ULONG GetSMSWake(
ULONG * pbEnabled,
ULONG * pWakeMask) {
if (strict_) {
ADD_FAILURE() << kBadCall << "GetSMSWake";
}
return kGeneralError;
}
virtual ULONG SetSMSWake(
ULONG bEnable,
ULONG wakeMask) {
if (strict_) {
ADD_FAILURE() << kBadCall << "SetSMSWake";
}
return kGeneralError;
}
virtual ULONG OMADMStartSession(ULONG sessionType) {
if (strict_) {
ADD_FAILURE() << kBadCall << "OMADMStartSession";
}
return kGeneralError;
}
virtual ULONG OMADMCancelSession() {
if (strict_) {
ADD_FAILURE() << kBadCall << "OMADMCancelSession";
}
return kGeneralError;
}
virtual ULONG OMADMGetSessionInfo(
ULONG * pSessionState,
ULONG * pSessionType,
ULONG * pFailureReason,
BYTE * pRetryCount,
WORD * pSessionPause,
WORD * pTimeRemaining) {
if (strict_) {
ADD_FAILURE() << kBadCall << "OMADMGetSessionInfo";
}
return kGeneralError;
}
virtual ULONG OMADMGetPendingNIA(
ULONG * pSessionType,
USHORT * pSessionID) {
if (strict_) {
ADD_FAILURE() << kBadCall << "OMADMGetPendingNIA";
}
return kGeneralError;
}
virtual ULONG OMADMSendSelection(
ULONG selection,
USHORT sessionID) {
if (strict_) {
ADD_FAILURE() << kBadCall << "OMADMSendSelection";
}
return kGeneralError;
}
virtual ULONG OMADMGetFeatureSettings(
ULONG * pbProvisioning,
ULONG * pbPRLUpdate) {
if (strict_) {
ADD_FAILURE() << kBadCall << "OMADMGetFeatureSettings";
}
return kGeneralError;
}
virtual ULONG OMADMSetProvisioningFeature(
ULONG bProvisioning) {
if (strict_) {
ADD_FAILURE() << kBadCall << "OMADMSetProvisioningFeature";
}
return kGeneralError;
}
virtual ULONG OMADMSetPRLUpdateFeature(
ULONG bPRLUpdate) {
if (strict_) {
ADD_FAILURE() << kBadCall << "OMADMSetPRLUpdateFeature";
}
return kGeneralError;
}
virtual ULONG UpgradeFirmware(CHAR * pDestinationPath) {
if (strict_) {
ADD_FAILURE() << kBadCall << "UpgradeFirmware";
}
return kGeneralError;
}
virtual ULONG GetImageInfo(
CHAR * pPath,
ULONG * pFirmwareID,
ULONG * pTechnology,
ULONG * pCarrier,
ULONG * pRegion,
ULONG * pGPSCapability) {
if (strict_) {
ADD_FAILURE() << kBadCall << "GetImageInfo";
}
return kGeneralError;
}
virtual ULONG GetImageStore(
WORD pathSize,
CHAR * pImageStorePath) {
if (strict_) {
ADD_FAILURE() << kBadCall << "GetImageStore";
}
return kGeneralError;
}
// By default, we don't want to care which callbacks have been
// registered, so we return success and do not register errors in
// these cases.
virtual ULONG SetSessionStateCallback(tFNSessionState pCallback) {
return 0;
}
virtual ULONG SetByteTotalsCallback(
tFNByteTotals pCallback,
BYTE interval) {
return 0;
}
virtual ULONG SetDataCapabilitiesCallback(
tFNDataCapabilities pCallback) {
return 0;
}
virtual ULONG SetDataBearerCallback(tFNDataBearer pCallback) {
return 0;
}
virtual ULONG SetDormancyStatusCallback(
tFNDormancyStatus pCallback) {
return 0;
}
virtual ULONG SetMobileIPStatusCallback(
tFNMobileIPStatus pCallback) {
return 0;
}
virtual ULONG SetActivationStatusCallback(
tFNActivationStatus pCallback) {
return 0;
}
virtual ULONG SetPowerCallback(tFNPower pCallback) {
return 0;
}
virtual ULONG SetRoamingIndicatorCallback(
tFNRoamingIndicator pCallback) {
return 0;
}
virtual ULONG SetSignalStrengthCallback(
tFNSignalStrength pCallback,
BYTE thresholdsSize,
INT8 * pThresholds) {
return 0;
}
virtual ULONG SetRFInfoCallback(tFNRFInfo pCallback) {
return 0;
}
virtual ULONG SetLURejectCallback(tFNLUReject pCallback) {
return 0;
}
virtual ULONG SetNewSMSCallback(tFNNewSMS pCallback) {
return 0;
}
virtual ULONG SetNMEACallback(tFNNewNMEA pCallback) {
return 0;
}
virtual ULONG SetPDSStateCallback(tFNPDSState pCallback) {
return 0;
}
virtual ULONG SetCATEventCallback(
tFNCATEvent pCallback,
ULONG eventMask,
ULONG * pErrorMask) {
return 0;
}
virtual ULONG SetOMADMAlertCallback(tFNOMADMAlert pCallback) {
return 0;
}
virtual ULONG SetOMADMStateCallback(tFNOMADMState pCallback) {
return 0;
}
void set_strict(bool value) {
strict_ = value;
}
protected:
bool strict_;
static const char *kBadCall;
};
// Only expect one mock_gobi_sdk_wrapper.h per executable
const char *ErrorSdk::kBadCall = "Unexpected sdk call to: ";
// Just enough SDK to instantiate a modem object.
class BootstrapSdk : public ErrorSdk {
virtual ULONG QCWWANConnect(
CHAR * pDeviceNode,
CHAR * pDeviceKey) {
return 0;
}
virtual ULONG QCWWANDisconnect() {
return 0;
}
virtual ULONG GetSerialNumbers(
BYTE esnSize,
CHAR * pESNString,
BYTE imeiSize,
CHAR * pIMEIString,
BYTE meidSize,
CHAR * pMEIDString) {
strncpy(pESNString, "FFFFFF", esnSize);
strncpy(pIMEIString, "980000000100000", imeiSize);
strncpy(pMEIDString, "A1000000000000", meidSize);
return 0;
}
};
} // namespace gobi