




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
ETelCoreAPIDesign
SecurityClassification:DocumentReference:
InternalN/A
Status:Version:
Issued1.6
Team/Department:Author(s):
<ConvergedComms>
<AndrewCloke,MatthewSwan,KatieSheehy,NathalieDoyelle,ShaziaBhatti,NeilMcAlpine,AleksandarAntonic,
RavishankarLakshminarayanan>
<DejanaSerdarevic>
Owner(s):
Approver(s):
<DejanaSerdarevic>
Distribution:
<ConvergedCommsTeam,licensees>
Copyright?2009NokiaCorporationand/oritssubsidiary(-ies).Allrightsreserved.
Thiscomponentandtheaccompanyingmaterialsaremadeavailableunderthetermsof"EclipsePublicLicensev1.0"whichaccompaniesthisdistributionandisavailableattheURL
“http:/
/
/legal/epl-v10.html
”.
InitialContributors:
Nokia-initialcontribution.
ETELCOREAPIDESIGN
INTERNAL
ISSUEDREV1.6
Contents
1
INTRODUCTION 5
2
SERVERREQUESTS 5
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
2.10
2.11
2.12
CONNECTINGTOTHESERVER 5
RETRIEVEVERSIONINFORMATION 5
ENUMERATEPHONES 5
GETPHONEINFORMATION 5
GETNAMEOFTSYBYPHONE 5
LOADPHONEMODULE 6
UNLOADPHONEMODULE 6
QUERYTSYABOUTSUPPORTEDFUNCTIONALITY 6
SETACLIENTTOBETHEPRIORITYCLIENT 6
SETACLIENT’SDESIREDERRORGRANULARITY 7
RETRIEVEVERSIONINFORMATIONOFTSY 7
DISCONNECTINGFROMTHESERVER 7
3
PHONEREQUESTS 8
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10
3.11
3.12
3.13
OPENAPHONE 錯(cuò)誤!未定義書簽。
CONTROLLEDINITIALISATION 錯(cuò)誤!未定義書簽。
CANCELANINITIALIZEREQUEST 錯(cuò)誤!未定義書簽。
SETACLIENTTOBETHEEMERGENCYCLIENT 8
RETRIEVECAPABILITYINFORMATION 錯(cuò)誤!未定義書簽。
CAPABILITIESCHANGENOTIFICATION 錯(cuò)誤!未定義書簽。
CANCELACAPABILITIESCHANGENOTIFICATION 錯(cuò)誤!未定義書簽。
RETRIEVESTATUSINFORMATION 錯(cuò)誤!未定義書簽。
ENUMERATELINES 錯(cuò)誤!未定義書簽。
RETRIEVELINEINFORMATION 錯(cuò)誤!未定義書簽。
MODEMDETECTIONNOTIFICATION 錯(cuò)誤!未定義書簽。
CANCELAMODEMDETECTIONNOTIFICATION 錯(cuò)誤!未定義書簽。
PHONECLASSMEMBERDATA 錯(cuò)誤!未定義書簽。
3.13.1
GetCurrentPhoneInformation 錯(cuò)誤!未定義書簽。
3.14 CLOSEAPHONE 錯(cuò)誤!未定義書簽。
LINEREQUESTS 12
4
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.9
4.10
4.11
4.12
4.13
4.14
4.15
4.16
4.17
OPENALINE 12
RETRIEVELINECAPABILITIES 12
CAPABILITIESCHANGENOTIFICATION 12
CANCELACAPABILITIESCHANGENOTIFICATION 12
RETRIEVESTATUSINFORMATION 12
RETRIEVEHOOKSTATUS 13
ENUMERATINGCALLS 13
RETRIEVECALLINFORMATION 13
INCOMINGCALLNOTIFICATION 13
CANCELINCOMINGCALLNOTIFICATION 13
HOOKCHANGENOTIFICATION 13
CANCELAHOOKCHANGENOTIFICATION 14
LINESTATUSNOTIFICATION 14
CANCELLINESTATUSNOTIFICATION 14
NEWCALLADDEDNOTIFICATION 14
CANCELNEWCALLADDEDNOTIFICATION 14
LINECLASSMEMBERDATA 14
4.17.1
GetCurrentLineInformation 14
4.18 CLOSEALINE 15
?NOKIACORPORATIONAND/ORITSSUBSIDIARIES
2
ETELCOREAPIDESIGN
INTERNAL
ISSUEDREV1.6
5
CALLREQUESTS 16
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
5.9
5.10
5.11
5.12
5.13
5.14
OPENACALL 16
RETRIEVECALLSTATUS 16
RETRIEVECALLCAPABILITIES 16
CAPABILITIESCHANGENOTIFICATION 17
CANCELACAPABILITIESCHANGENOTIFICATION 17
RETRIEVEBEARERSERVICEINFO 17
HOOKCHANGENOTIFICATION 18
CANCELHOOKCHANGENOTIFICATION 18
CALLSTATUSNOTIFICATION 18
CANCELCALLSTATUSNOTIFICATION 18
CALLDURATIONCHANGENOTIFICATION 18
CANCELCALLDURATIONCHANGENOTIFICATION 18
RETRIEVECALLDURATION 19
CALLCLASSMEMBERDATA 19
5.14.1
GetCurrentCallInformation 19
5.15
5.16
5.17
5.18
5.19
5.20
5.21
5.22
5.23
5.24
5.25
5.26
5.27
5.28
5.29
5.30
5.31
5.32
5.33
5.34
5.35
DIALACALL 19
CANCELDIALCALLCOMMAND 19
IMMEDIATECONNECT 19
CANCELIMMEDIATECONNECT 20
ANSWERACALL 20
CANCELCALLANSWER 20
TERMINATEANACTIVECALL 20
CANCELCALLTERMINATE 20
LOANINGTHECOMMUNICATIONPORTTOTHECLIENT 21
CANCELLOANCOMMUNICATIONSPORT 21
RECOVERINGALOANEDCOMMUNICATIONSPORT 21
ACQUIRINGCALLOWNERSHIP 21
CANCELACQUIRECALLOWNERSHIP 22
TRANSFEROWNERSHIP 22
RETRIEVEOWNERSHIPINFORMATION 22
RETRIEVECALLPARAMETERS 22
RETRIEVEFAXSETTINGS 23
SETFAXSETTINGS 24
RETRIEVEREFERENCECOUNT 24
CLOSEACALL 24
ADOPTFAXHEADERFILEINFAXSERVER 24
6
FAXREQUESTS 25
6.1
6.2
6.3
6.4
6.5
6.6
6.7
OPENAFAXPORT 25
READFAXINFORMATION 25
WRITEFAXINFORMATION 25
WAITFORTHEENDOFAPAGE 25
CANCELTHEFAXSESSION 25
RETRIEVEFAXPROGRESSINFORMATION 25
CLOSEAFAXOBJECT 26
7
CALLOWNERSHIP 27
7.1
7.2
7.3
7.4
7.5
7.6
OVERVIEW 27
CALLOWNERSHIPSCENARIOS 28
SIMPLECALLOWNERSHIPEXAMPLE 28
CALLOWNERSHIPTRANSFEREXAMPLE 30
CLIENTPANICEXAMPLEA 32
CLIENTPANICEXAMPLEB 34
8
FAXSESSIONEXAMPLES 36
8.1
8.2
FAXDIALLINGANDTRANSMISSION 36
FAXANSWERINGANDRECEIVINGEXAMPLE 38
?NOKIACORPORATIONAND/ORITSSUBSIDIARIES
3
ETELCOREAPIDESIGN
INTERNAL
ISSUEDREV1.6
9 ETELCOREERRORMESSAGES 42
10
ETELUTILITIES 43
10.1 TLVSTRUCTURESUPPORT 43
11
ETELUDEBLOGGING 46
V9.1ANDBELOW:FLOGGER1 46
V9.2ANDABOVE:CDULOGGING 47
12
REFERENCES 48
13
REVISIONHISTORY 48
14
14.1
14.2
14.3
14.4
14.5
14.6
FURTHERINFORMATION 49
PEOPLE 49
REFERENCES 49
OPENISSUES 49
GLOSSARY 錯(cuò)誤!未定義書簽。
DOCUMENTHISTORY 49
DOCUMENTREVIEWDATE 49
?NOKIACORPORATIONAND/ORITSSUBSIDIARIES
4
ETELCOREAPIDESIGN
INTERNAL
ISSUEDREV1.6
1
Introduction
ThisdocumentdescribesthecoreETelAPI,itsfunctionsandclassabstraction.Asectionisdevotedtoeachoftheclassabstractions:phones,lines,callandfaxfunctionality.Additionalsectionsthengiveexamplesthatillustratethemechanicsofcallownershipandfaxsessions.
2 ServerRequests
2.1 ConnectingtotheServer
TIntRTelServer::Connect(TIntaMessageSlots)
ThisfunctionconnectstheclienttotheETelServerwiththespecifiednumberofmessageslots.Itmustbeusedbeforeanyoftheotherfunctionslistedinthisdocument.
2.2
RetrieveVersionInformation
TVersionRTelServer::Version()
ThisfunctionreturnstheversionnumberoftheETelServerintheTVersionstructure.
2.3
EnumeratePhones
TIntRTelServer::EnumeratePhones(TInt&aCount)
ThisfunctionreturnsthetotalnumberofphonesupportedbyalltheETel(TSY)modulescurrentlyloaded.ThenumberisreturnedintheaCountvariable.
2.4
GetPhoneInformation
TIntRTelServer::GetPhoneInfo(TIntaIndex,TPhoneInfo&aInfo)
ThisfunctionreturnsinformationassociatedwiththephoneindicatedbytheaIndexvariable.ThephoneinformationisreturnedintheaInfostructure,describedbelow.
2.5 GetNameofTSYbyPhone
TIntRTelServer::GetTsyName(constTIntaIndexOfPhone,TDes&aTsyName)
ThisfunctionreturnsthenameoftheTSYmodulethatthephoneindicatedbytheindexaIndexOfPhonebelongsto.
?NOKIACORPORATIONAND/ORITSSUBSIDIARIES
5
iNetworkType
Thetypeoftelephonyconnectionsupportedbythephone.Thismaytakeoneofthefollowingvalues:
ENetworkTypeWiredAnalog
ENetworkTypeWiredDigital
ENetworkTypeMobileAnalog
ENetworkTypeMobileDigital
ENetworkTypeUnknown
iName
Thenameofthephone.
iNumberOfLines
Thenumberoflinessupportedbythephone.
iExtensions
TheextensionsthattheTSYmodulesupports.
Variable Description
ETELCOREAPIDESIGN
INTERNAL
ISSUEDREV1.6
2.6 LoadPhoneModule
TIntRTelServer::LoadPhoneModule(constTDesC&aName)
ThisfunctionloadstheETel(TSY)modulespecifiedbytheaNamevariable.ThenameneednotincludetheTSYextension,thiswillbeaddedbytheserver.Onceloaded,informationaboutthephone(s)addedbythemodulecanbeaccessedusingtheEnumeratePhonesandPhoneInfofunctions.
2.7 UnloadPhoneModule
TIntRTelServer::UnloadPhoneModule(constTDesC&aName)
ThisfunctionunloadstheETel(TSY)modulespecifiedbytheaNamevariable.ThenameneednotincludetheTSYextension,thiswillbeaddedbytheserver.
2.8 QueryTSYaboutSupportedFunctionality
TIntRTelServer::IsSupportedByModule(constTDesC&aTsyName,constTIntaMixin,TBool&aResult)
ThisfunctionallowsaclienttoqueryaTSYmoduleaboutwhattypeofextendedfunctionalityitsupports.ItisassumedtheTSYmodulewillsupportallcorefunctionality.TheaMixinparameterisanintegerdefinedinapublicheaderfileavailablebothtotheclientandtheTSYwhichrepresentsalimitedsubsetoffunctionality,andtheaResultparameterispassedbackaseitherTRUEorFALSE.ThefunctionwillreturnKErrNotFoundiftheTSYmodulespecifiedisnotavailable.
2.9 SetaClienttobethePriorityClient
TIntRTelServer::SetPriorityClient()
Thisfunctionisarequesttotheservertoallocateprioritystatustotheclientwhichcallsit.Theprioritystatusallowstheclienttobecomethepriorityclientintheplatformandbegrantedcontroloveranycall.
Onlyoneclientinthesystemmayhavethisprioritystatus,andthatwouldtypicallybethedefaultphoneapplication.Thatiswhythismethodhasitsaccessrestrictedtoallowonlythedefaultphoneapplicationtosuccessfullycallthismethod–themethodispolicedwiththeNetworkControlcapability+theSIDofthedefaultphoneapplication.ThismeansthatonlytheclientwiththerequiredcapabilityandtherequiredSIDwillbeabletosuccessfullycallthismethod.IfanotherapplicationattemptstocallthisAPI,thisfunctionwillreturnKErrPermissionDenied.IfthepriorityclientcallsthisAPImorethenonce,thefunctionwillreturnKErrAlreadyExists.
Whenthismethodiscalled,theETelserverwillalsopreallocateextramemorytobeusedfortheemergencyrequestsmadebythepriorityclient,forexampleanemergencydialrequest.Ifthepriorityclientthencallsan“emergency”request(ofwhichtherearenoneinthecoreETelAPI),theserverwillusethepreallocatedmemoryfortherequestratherthanallocatingextramemorytopreventanoutofmemoryerror.Ifthepre-allocationofmemorywithinthismethodfails,thereturnerrorwillbeKErrNoMemory.Other,non-priority,clientsthatneedtohandleemergencyrequestsandwishtopreallocateenoughmemoryfortheiremergencyrequesthandlingshouldusetheRPhone::SetEmergencyClient()method.
Notetothedefaultphoneappdevelopers:
ToenabletheSIDofthedefaultphoneapplicationtobeeasilyoverwrittenbythedefaultphoneappdevelopers,theSIDwillalsobedefinedasapatchdataintheetel.ibyfileasfollows:
patchdataetel.dll@KPriorityClientSid<0x12345678>
where0x12345678isanexampleSIDofthedefaultphoneapp.
Thedefaultphoneappdevelopersareexpectedtomodifytheetel.ibyfilepriortoROMbuildingandreplacethedefaultSIDvaluewiththeSIDvalueoftheirdefaultphoneapp.
Toenabletestingofthisfunctionalityontheemulatortheepoc.inifileneedstobemodifiedtodefinethefollowingproperty:
?NOKIACORPORATIONAND/ORITSSUBSIDIARIES
6
ETELCOREAPIDESIGN
INTERNAL
ISSUEDREV1.6
etel_KPriorityClientSid0x12345678
where0x12345678isanexampleSIDvalueoftheirdefaultphoneapp.
2.10SetaClient’sdesirederrorgranularity
TIntRTelServer::SetExtendedErrorGranularity(RTelServer::TErrorGranularityaGranularity)const
Thisfunctionisarequesttotheservertoregisterthespecifiederrorgranularityagainsttheclientwhichcallsit.TheETelserverwillprovideextendederrors(i.e.proprietaryclient/TSYerrordefinitionsoutsideoftheETelcoreerrorspace)toaclientthatcallsthismethodandspecifiesaGranularityequaltoEErrorExtended.Afterregisteringinterestinextendederrors,this“advanced”clientwillreceiveanextendederrorcodewheneveroneoftheirrequestsendsinanerrorthatistranslatedbytheTSYintooneoftheproprietaryextendederrorcodes.IfanerroroccursthattheTSYcannottranslateintoanextendederrorthentheTSYwillreturnoneofthebasicerrorsinstead.Forthisreason,thebasicerrorspaceandtheextendederrorspacemustnotclash.AclientwhichhasnotcalledthismethodoronewhichspecifiesaGranularityequaltoEErrorBasicwillonlyreceiveerrorsfromthesmallsetofETelandBasebasicerrors.
BasicerrorcodesarethoseusedanddefinedbytheETelCoreAPI.TheseerrorcodesalongsidetheE32Basesetoferrorcodescollectivelyformthebasicerrorspace.TheerrorcodesdefinedintheETelextensions,suchasETelMM,ETelSAT,ETelPacketexterror.hinETel,aswellasthosedefinedbyLicensees,collectivelyformtheextendederrorspace.Thelicenseedefinedextendederrorspacehasarangeof-21000to-29999.
2.11RetrieveVersionInformationofTSY
TIntRTelServer::GetTsyVersionNumber(constTDesC&aTsyName,TVersion&aVersion)const;
ThisfunctionreturnstheversionnumberofthespecifiedTSYmoduleintheaVersionparameter.
2.12DisconnectingfromtheServer
TIntRTelServer::Close()
Thisfunctionclosestheclient’shandleontheserver.
?NOKIACORPORATIONAND/ORITSSUBSIDIARIES
7
EErrorBasic
Clientisonlyinterestedincoreerrors
EErrorExtended
Clientisinterestedinextendederrors
TErrorGranularity Description
ETELCOREAPIDESIGN
INTERNAL
ISSUEDREV1.6
3 PhoneRequests
3.1 OpenaPhone
TIntRPhone::Open(RTelServer&aSession,constTDesC&aName)
ThisfunctionopensthephonespecifiedbytheaNamevariable.TheaSessionvariablemustspecifyaserversessionwhichisconnectedtotheserver.
3.2 ControlledInitialisation
TIntRPhone::Initialise()
voidRPhone::Initialise(TRequestStatus&aStatus)
Thisfunctionallowstheclienttocontrolwhenaphoneisinitialised,orre-initialised.Thephonehardwareisusuallyautomaticallyinitialisedbeforethefirstcommandissent.However,thisoperationcantakeanumberofseconds,andmaythereforecauseasluggishresponse.Thiscommandgivesaclienttheabilitycontroltheinitialisationtiming.
Aclientmaywishtoknowwhentheautomaticinitializedfunctionhascompleted,sothatitmaycallasynchronousfunctionthatobeysflowcontrol.Itcandothisbycallingthisfunctionduringtheautomaticsequence,whichwillthencompleteimmediatelyuponinitialisationwithoutexecutingitasecondtime.
3.3 CancelanInitializeRequest
voidRPhone::InitialiseCancel()
Thisfunctioncancelsarequesttoinitialisethemodem,placedusingtheasynchronousvariantoftheInitialisefunction.
3.4 SetaClienttobetheEmergencyClient
TIntRPhone::SetEmergencyClient(constTUint32aEmergencyRequest)
ThismethodallowstheclienttoinstructtheETelserverandtheTSYtopreallocateextramemoryforanypotentialemergencyrequesthandlingfromthisclient.Itallowsother,non-priority,clientswhooperateunderemergencyconditions,tohavememorypreallocatedforthemintheETelserver.TherequestgetspasseddowntotheTSY,sothattheTSYcanalsoproceedwiththenecessarymemorypre-allocation.
?NOKIACORPORATIONAND/ORITSSUBSIDIARIES
8
TEmergencyRequests
Description
EEmergencyLCSRequest
=0x00000001
PreallocateenoughmemoryinETelandTSYfortheLCS(LocationServices)emergencyrequesthandling.
AfterthisAPIiscalledthepreallocatedmemorywillbeusedtoservicethefollowingemergencyLCSrequests:
RMobileLocationServices::NotifyMtlr()RMobileLocationServices::SendMtlrResponse()RMobileLocationServices::NotifyMeasurementControl()RMobileLocationServices::SendMeasurementReport()
EEmergencyCSVoiceCallRequest
=0x00000002
PreallocateenoughmemoryinETelandTSYfortheCircuitSwitchedVoiceCallemergencyrequesthandling.
AfterthisAPIiscalledthepreallocatedmemorywillbeusedtoservicethefollowingemergencyCircuitSwitchedVoiceCallemergencyrequests:
RMobileCall::DialEmergencyCall()
ETELCOREAPIDESIGN
INTERNAL
ISSUEDREV1.6
TheclientspecifiesthetypeofemergencyrequeststhatitwishestohandleintheaEmergencyRequestparameter.aEmergencyRequestsisabit-maskwhereeachbit-flagrepresentstheemergencyrequesttypethattheclientwishestohandle.SeedefinitionofTEmergencyRequestsfortheemergencyrequesttypesbit-flagpositions.
ThememoryrequirediscalculatedbytheserverandtheTSYaccordingtotheaEmergencyRequestTypeparameter.Ifthepre-allocationofmemorywithinthismethodfails,themethodreturnsKErrNoMemory.Ifthesameemergencyclientcallsthismethodmultipletimes,theETelserverwillreturntheKErrAlreadyExistserror.KErrAlreadyExistswillalsobereturnedifanotherRPhoneclientcreatedusingthesameRTelServersessionalsocallsthismethod.
PleasenotethatETelallocatesemergencyheapperclientormorepreciselyperclient’sRTelServersession.Theclientisexpectedtouseonlyoneemergencysub-sessionofthesametypeatatime.Iftheclienthasarequirementtousemultiple,concurrentsubsessionsthathandlethesameemergencyfunctionality,thenitneedstoopenseparateRTelServersessions,otherwiseETelmightrunoutofthepreallocatedemergencymemory.
ThismethodispolicedwiththeWriteDeviceDatacapability.Multipleclientscancallthismethodaslongastheyhavesufficientplatseccapability.
3.5 RetrieveCapabilityInformation
TIntRPhone::GetCaps(TCaps&aCaps)
ThisfunctionreturnsthephonecapabilitiesintheaCapsvariable.AninstanceoftheTCapstemplatemustbepassedastheaCapsvariable.ThispackagestheTCapsstructure,whichcontainsoneiFlags
variable.
Thepossiblevaluesforthisvariablearedescribedbelow.
3.6 CapabilitiesChangeNotification
TIntRPhone::NotifyCapsChange(TRequestStatus&aStatus,TCaps&aCaps);
Thisfunctioncompleteswhenthedynamiccapabilitiesofthephonechange.SeetheprevioussectionforvaluesthataCapsmaytake.
?NOKIACORPORATIONAND/ORITSSUBSIDIARIES
9
KCapsUnknown
Thecapabilitiesofthephonearenotcurrentlyknown.
KCapsData
Thephonesupportsdatacalls.
KCapsFaxClassOne
Thephonesupportsthefaxclass1interface.
KCapsFaxClassOnePointZero
Thephonesupportsthefaxclass1.0interface.
KCapsFaxClassTwo
Thephonesupportsthefaxclass2interface.
KCapsFaxClassTwoPointZero
Thephonesupportsthefaxclass2.0interface.
KCapsFaxClassTwoPointOne
Thephonesupportsthefaxclass2.1interface.
KCapsVoice
Thephonesupportsvoicecalls.
KCapsEventModemDetection
Thephonesupportsmodemdetectionevents,i.e.itcannotifyclientswhenthemodemcanbeorcannolongerbedetected.
KCapsStealCommPort
Thephonesupportstheabilitytotakethecommsportfromwhatevercomponentiscurrentlyusingit.
NBThisrequiresnewfunctionalitytobeimplementedintheCommsServerwhichisnotthereatpresent;ietheabilityforoneC32clienttosnatchtheownershipofthecommsportfromanotherclient.
Constant Description
ETELCOREAPIDESIGN
INTERNAL
ISSUEDREV1.6
3.7
CancelaCapabilitiesChangeNotification
TIntRPhone::NotifyCapsChangeCancel()const;
Thisfunctioncancelsanoutstandingrequestfornotificationofthecapabilitiesofthephonechanging.
3.8 RetrieveStatusInformation
TIntRPhone::GetStatus(TStatus&aStatus)
Thisfunctionretrievesinformationaboutthestatusofthephone.aStatusstructure,whichisdescribedbelow.
PrimitiveTypes
Thisinformationisreturnedinthe
StructuredTypes:
3.9 EnumerateLines
TIntRPhone::EnumerateLines(TInt&aCount)
ThisfunctionreturnsthenumberoflinesassociatedwiththephoneintheaCountvariable.
3.10RetrieveLineInformation
TIntRPhone::GetLineInfo(TIntaIndex,TLineInfo&aLineInfo)
ThisfunctionreturnsinformationaboutthelinespecifiedbytheaIndexvariable.TheinformationisreturnedintheaLineInfostructure,whichisdescribedbelow.
?NOKIACORPORATIONAND/ORITSSUBSIDIARIES
10
TStatus
iModemDetected
TModemDetection
Thecurrentmodemdetectionstate.TModemDetectionvaluesaredescribedabove
iMode
TMode
Thecurrentmodeofthephone.TModevaluesaredescribedabove.
EDetectedPresent
Thephonehasdetectedthatthelocalmodemispresent.
EDetectedNotPresent
Thephonehasdetectedthatthelocalmodemisnotpresent.
EDetectedUnknown
Thephonehasnotyetdetectedthestatusofthelocalmodem.
TModemDetection
EModeUnknown
Thephoneiscurrentlyinanunknownstate.
EModeIdle
Thephoneiscurrentlyidle
EModeEstablishingLink
Thephoneiscurrentlytryingtoestablishacall.
EModeOnlineData
Thephoneisintheconnectedand“on-linedata“state
EModeOnlineCommand
Thephoneisintheconnectedand“on-linecommand“state
TMode
ETELCOREAPIDESIGN
INTERNAL
ISSUEDREV1.6
3.11ModemDetectionNotification
voidRPhone::NotifyModemDetected(TRequestStatus&aStatus,TModemDetection&aDetection)
Thisfunctionallowsaclienttobenotifiedwhenthelocalmodemisdetectedorwhenapreviouslyconnectedmodemcannolongerbecontacted.Clearly,thisfunctionhasnouseifthemodem(DCE)ispermanentlyattachedtothecomputingdevice(DTE).Ifsupported,therequestwillbecompletedwhenthephone’sconnectionstatuschanges.UponcompletiontheaDetectionvariablewillcontainthenewstatus.ValuesforTModemDetectionaredescribedinsection3.6.
3.12CancelaModemDetectionNotification
voidRPhone::NotifyModemDetectedCancel()
Thisfunctioncancelsanoutstandingmodemdetectionnotification,placedusingtheNotifyModemDetectedfunction.
3.13PhoneClassMemberData
AlltheinformationassociatedwithaninstanceofthecoreGSMAPIphoneclassiscollectedtogetherintoasingle,directlyaccessible,structuretoincreasetheefficiencyofthoseapplicationswhichrequireaccesstothemajorityofthephone’sdata.
ThefollowingtabledescribesthemembervariablesoftheTPhoneInfoclass.
3.13.1GetCurrentPhoneInformation
TIntRPhone::GetInfo(TPhoneInfo&aPhoneInfo)
Thisfunctionretrievesasnapshotofthecurrentphoneinformation,describedinthetableabovee.
3.14CloseaPhone
TIntRPhone::Close()
Thisfunctionclosestheclient-sidehandleonthephone.Ifthisisthelasthandleonthephone,thenitwillalsodeletetheserver-sidephoneobject.
?NOKIACORPORATIONAND/ORITSSUBSIDIARIES
11
iDetection
TModemDetection
Thecurrentmodemdetectionstate.TModemDetectionvaluesaredescribedinsection3.6
TPhoneInfo
iStatus
RCall::TStatus
Thecurrentlinestatus.Thevaluesofthisarethesameasacallstatusandaredescribedinthe“RetrieveCallStatus”section.
iLineCapsFlags
TUint32
Theline’scapabilitiesflags,describedinthe“RetrieveLineCapabilities”section.
iName
TName
Thenameoftheline.
TLineInfo
ETELCOREAPIDESIGN
INTERNAL
ISSUEDREV1.6
4 LineRequests
4.1 OpenaLine
TIntRLine::Open(RPhone&aPhone,constTDesC&aName)
TIntRLine::Open(RTelServer&aServer,constTDesC&aName)
Thesefunctionsopenalinefromaphoneandaserverconnectionrespectively.ThenameofthelineisgivenbytheaNamevariableandmustmatchthenamepassedwiththeGetLineInfofunction.
4.2 RetrieveLineCapabilities
TIntRLine::GetCaps(TCaps&aCaps)
ThisfunctionreturnsthelinecapabilitiesintheaCapsvariable.AninstanceoftheTCapstemplatemustbepassedastheaCapsvariable.ThispackagestheTCapsstructure,whichcontainsoneiFlagsvariable.Thepossiblevaluesforthisvariablearedescribedbelow.
4.3 CapabilitiesChangeNotification
TIntRLine::NotifyCapsChange(TRequestStatus&aStatus,TCaps&aCaps);
Thisfunctioncompleteswhenthedynamiccapabilitiesofthelinechange.SeetheprevioussectionforvaluesthataCapsmaytake.
4.4
CancelaCapabilitiesChangeNotification
TIntRLine::NotifyCapsChangeCancel()const;
Thisfunctioncancelsanoutstandingrequestfornotificationofthecapabilitiesofthelinechanging.
4.5 RetrieveStatusInformation
TIntRLine::GetStatus(TStatus&aStatus)
ThisfunctionreturnslinestatusinformationintheaStatusvariable.Thisvariablemaytakethefollowingvalues.
?NOKIACORPORATIONAND/ORITSSUBSIDIARIES
12
Variable Description
EStatusUnknown
Thelinestatusiscurrentlyunknown.
EStatusIdle
Thelineisidle.
EStatusDialling
Thelineisdialling
EStatusRinging
Thelineisringing.
EStatusAnswering
Thelineisanswering.
EStatusConnecting
Thelineisconnecting.
EStatusConnected
Thelineisconnected.
Constant Description
KCapsData
Thelinesupportsdataconnections.
KCapsFax
Thelinesupportsfaxconnections.
KCapsVoice
Thelinesupportsvoiceconnections.
KCapsEventIncomingCall
Thelinesupportsincomingcallnotificationrequests.
ETELCOREAPIDESIGN
INTERNAL
ISSUEDREV1.6
4.6
RetrieveHookStatus
TIntRLine::GetHookStatus(THookStatus&aHookStatus)
ThisfunctionreturnshookthecurrentstatusintheaHookStatusvariable.Thisvariablemaytakeoneofthefollowingvalues.
4.7 EnumeratingCalls
TIntRLine::EnumerateCall(TInt&aCount)
Thisfunctionreturnsthenumberofcallsopenedfromtheline.ThenumberofcallsisreturnedintheaCountvariable.
4.8 RetrieveCallInformation
TIntRLine::GetCallInfo(TIntaIndex,TCallInfo&aCallInfo)
ThisfunctionreturnsinformationaboutthecallspecifiedbytheaIndexvariable.ThecallinformationisreturnedintheaCallInfostructure,whichisdescribedbelow.
4.9 IncomingCallNotification
voidRLine::NotifyIncomingCall(TRequestStatus&aStatus,TName&aName)
Thisfunctionallowsaclienttobenotifiedwhenanincomingcallisdetected.Thefunctioncompleteswhenanincomingcallisdetectedorwhenacancelofthenotificationisrecognised.ThenameofthecallonwhichAnswerIncomingCall()shouldbeansweredisreturnedintheaNamevariable.
4.10CancelIncomingCallNotification
TIntRLine::NotifyIncomingCallCancel()
Thisfunctionallowsaclienttocancelanoutstandingincomingcallnotification,placedwiththeNotifyIncomingCallrequest.
4.11HookChangeNotification
voidRLine::NotifyHookChange(TRequestStatus&aStatus,THookStatus&aHookStatus)
?NOKIACORPORATIONAND/ORITSSUBSIDIARIES
13
Constant Description
iCallName
Thenameofthecall.
iStatus
Thecallstatus,describedinthe“RetrieveCallStatus”section.
iCallCapsFlags
Thecallcapabilitiesflags,describedinthe“RetrieveCallCapabilities”section.
EHookStatusOff
Thelineiscurrentlyoffhook.
EHookStatusOn
Thelineiscurrentlyonhook.
EHookStatusUnknown
Thestatusoftheline’shookiscurrentlyunknown.
Constant Description
EStatusHangingUp
Thelineishangingup.
Variable Description
ETELCOREAPIDESIGN
INTERNAL
ISSUEDREV1.6
Thisfunctionallowsaclienttobenotifiedwhenthehookchangesstatus.Therequestwillbecompletedwhentheline’shookstatuschanges.UponcompletiontheaHookStatusvariablewillcontainthenewhookstatus.
4.12CancelaHookChangeNotification
voidRLine::NotifyHookChangeCancel()
Thisfunctioncancelsanoutstandinghookchangenotificationrequest,placedusingtheNotifyHookChangefunction.
4.13LineStatusNotification
voidRLine::NotifyStatusChange(TRequestStatus&aStatus,TStatus&aLineStatus)
Thisfunctionnotifiesaclientaboutachangeinthestatusofaline.Therequestwillcompletewhenthelinemodestatuschanges.UponcompletionthenewlinestatuswillbereturnedintheaLineStatusvariable.
4.14CancelLineStatusNotification
voidRLine::NotifyStatusChangeCancel()
Thisfunctioncancelsanoutstandinglinestatuschangenotificationrequest,placedusingtheNotifyStatusChangefunction.
4.15NewCallAddedNotification
voidRLine::NotifyCallAdded(TRequestStatu
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024塔式太陽能光熱發(fā)電站鏡場控制系統(tǒng)技術(shù)規(guī)范
- 2025年阿里貨運(yùn)資格證模擬考試
- 2025年南京貨車資格證答案
- 墊資工程施工合同協(xié)議書
- 小商鋪房屋租賃合同
- 2025年高中化學(xué)新教材同步 必修第一冊 第2章 第2節(jié) 第1課時(shí) 氯氣的性質(zhì)
- 反擔(dān)保 保證合同范本
- Α-烯基磺酸鹽(AOS9235)競爭策略分析報(bào)告
- 印布油墨戰(zhàn)略市場規(guī)劃報(bào)告
- 鋅鎳蓄電池市場分析及競爭策略分析報(bào)告
- 生產(chǎn)流水線的規(guī)劃方案
- 小針刀療法教學(xué)課件
- 打造寫生基地方案
- 寫作:廣告詞-【中職專用】高二語文高效課堂(高教版2023·職業(yè)模塊)
- 爆發(fā)性心肌炎護(hù)理查房課件
- 銷售人員人才畫像
- (完整版)建筑工程技術(shù)畢業(yè)論文
- 鑫宇鋅合金模具設(shè)計(jì)標(biāo)準(zhǔn)
- 整理我的小書桌(課件)小學(xué)勞動(dòng)二年級(jí)通用版
- 森林撫育施工組織設(shè)計(jì)
- 切削刀具及其材料課件
評(píng)論
0/150
提交評(píng)論