serviceproviders/sapi_location/src/locationcallBack.cpp
changeset 32 8d692d9f828f
parent 27 44bb89c96acb
child 33 50974a8b132e
equal deleted inserted replaced
27:44bb89c96acb 32:8d692d9f828f
    41  * and registers it 
    41  * and registers it 
    42  */
    42  */
    43  
    43  
    44 LocationInterfaceCB :: LocationInterfaceCB( MLiwNotifyCallback* aCallBack ,
    44 LocationInterfaceCB :: LocationInterfaceCB( MLiwNotifyCallback* aCallBack ,
    45 										const CLiwGenericParamList* aInParmList ,	
    45 										const CLiwGenericParamList* aInParmList ,	
    46      				      				TPositionModuleInfo* aPositionModuleInfo ,
    46      				      				//TPositionModuleInfo* aPositionModuleInfo ,
    47      				      				TInt32 aTransactionId ) : iCallBack(aCallBack), 
    47      				      				TInt32 aTransactionId ) : iCallBack(aCallBack), 
    48      				      										 iTransactionId(aTransactionId)
    48      				      										 iTransactionId(aTransactionId)
    49     {
    49     {
    50     iModuleInfo = aPositionModuleInfo	;
    50     //iModuleInfo = aPositionModuleInfo	;
    51     
    51     
    52     //Extract the location info category from inputparamlist
    52     //Extract the location info category from inputparamlist
    53     TInt index = 0;
    53     TInt index = 0;
    54     const TLiwGenericParam *smapparam = aInParmList->FindFirst(index , KLocationInfoCategory) ;
    54     const TLiwGenericParam *smapparam = aInParmList->FindFirst(index , KLocationInfoCategory) ;
    55     TPtrC argposInfoCategory(KLocationBasicinfo) ;
    55     TPtrC argposInfoCategory(KLocationBasicinfo) ;
    83  * as required by locationinterface.cpp 
    83  * as required by locationinterface.cpp 
    84  */
    84  */
    85  
    85  
    86 LocationInterfaceCB *LocationInterfaceCB :: NewL(MLiwNotifyCallback* aCallBack  ,
    86 LocationInterfaceCB *LocationInterfaceCB :: NewL(MLiwNotifyCallback* aCallBack  ,
    87 												const CLiwGenericParamList* aInParmList ,  
    87 												const CLiwGenericParamList* aInParmList ,  
    88 												TPositionModuleInfo* aPositionModuleInfo,
    88 												//TPositionModuleInfo* aPositionModuleInfo,
    89 												TInt32 aTransactionid  ) 
    89 												TInt32 aTransactionid  ) 
    90     {
    90     {
    91     LocationInterfaceCB *self = new(ELeave) LocationInterfaceCB(aCallBack , aInParmList ,
    91     LocationInterfaceCB *self = new(ELeave) LocationInterfaceCB(aCallBack , aInParmList ,
    92     															aPositionModuleInfo, aTransactionid) ;
    92     															/*aPositionModuleInfo,*/ aTransactionid) ;
    93     CleanupStack::PushL(self);
    93     CleanupStack::PushL(self);
    94 
    94 
    95     //Store the outparam and in param list
    95     //Store the outparam and in param list
    96 
    96 
    97     self->iOutParmList = CLiwGenericParamList::NewL();
    97     self->iOutParmList = CLiwGenericParamList::NewL();
   192     if (!(Math::IsNaN(Val1)))
   192     if (!(Math::IsNaN(Val1)))
   193         {
   193         {
   194         result->InsertL(KVerAccuracy, TLiwVariant((TReal)Val1)) ;
   194         result->InsertL(KVerAccuracy, TLiwVariant((TReal)Val1)) ;
   195         }
   195         }
   196     
   196     
   197     TPositionModuleInfo :: TCapabilities  currCapability  = iModuleInfo->Capabilities() ;
   197     //TPositionModuleInfo :: TCapabilities  currCapability  = iModuleInfo->Capabilities() ;
   198     
   198     
   199     if ( iLocinfoCategory == EGenericInfo )
   199     if ( iLocinfoCategory == EGenericInfo )
   200 	    {
   200 	    {
   201 	    if(currCapability & TPositionModuleInfo :: ECapabilitySpeed) //Populate output param with speed info
   201 	   
   202         {
       
   203         TReal32 speedinfo = 0 ;
   202         TReal32 speedinfo = 0 ;
   204 
   203 
   205         if(!aGenericInfo->GetValue(EPositionFieldHorizontalSpeed , speedinfo) ) //Extract speed 
   204         if(!aGenericInfo->GetValue(EPositionFieldHorizontalSpeed , speedinfo) ) //Extract speed 
   206             {
   205             {
   207             result->InsertL(KPositionFieldHorizontalSpeed,TLiwVariant((TReal)speedinfo));
   206             result->InsertL(KPositionFieldHorizontalSpeed,TLiwVariant((TReal)speedinfo));
   213             result->InsertL(KPositionFieldHorizontalSpeedError,TLiwVariant((TReal)speedinfo));	
   212             result->InsertL(KPositionFieldHorizontalSpeedError,TLiwVariant((TReal)speedinfo));	
   214             }
   213             }
   215 
   214 
   216 
   215 
   217 
   216 
   218         }   //End of EcapabilitySpeed 
   217 
   219 
   218 
   220 
       
   221 	    if(currCapability & TPositionModuleInfo :: ECapabilitySatellite) //Extract satellitinfo if any and append it
       
   222 	        {																//as part of out parm list
       
   223 	        TInt8 satinfo  = 0;
   219 	        TInt8 satinfo  = 0;
   224 
   220 
   225 	        if(!aGenericInfo->GetValue(EPositionFieldSatelliteNumInView , satinfo))
   221 	        if(!aGenericInfo->GetValue(EPositionFieldSatelliteNumInView , satinfo))
   226 	            {
   222 	            {
   227 	            result->InsertL(KPositionFieldSatelliteNumInView,TLiwVariant((TReal)satinfo));	
   223 	            result->InsertL(KPositionFieldSatelliteNumInView,TLiwVariant((TReal)satinfo));	
   230 		        {
   226 		        {
   231 		        result->InsertL(KPositionFieldSatelliteNumUsed ,TLiwVariant((TReal) satinfo)) ;
   227 		        result->InsertL(KPositionFieldSatelliteNumUsed ,TLiwVariant((TReal) satinfo)) ;
   232 		        }
   228 		        }
   233 
   229 
   234 
   230 
   235 	        }
   231 	                                                                   
   236 
   232 
   237 	    if(currCapability & TPositionModuleInfo :: ECapabilityDirection) //Extract direction info if any and append it 
       
   238 	        {                                                               // as part of out parm list
       
   239 	        TReal32 direcinfo = 0;
   233 	        TReal32 direcinfo = 0;
   240 
   234 
   241 	        if(!aGenericInfo->GetValue(EPositionFieldTrueCourse , direcinfo) )
   235 	        if(!aGenericInfo->GetValue(EPositionFieldTrueCourse , direcinfo) )
   242 	            {
   236 	            {
   243 	            result->InsertL(KPositionFieldTrueCourse,TLiwVariant((TReal)direcinfo));
   237 	            result->InsertL(KPositionFieldTrueCourse,TLiwVariant((TReal)direcinfo));
   262 	            {
   256 	            {
   263 	            result->InsertL(KPositionFieldMagneticCourse,TLiwVariant((TReal)direcinfo));
   257 	            result->InsertL(KPositionFieldMagneticCourse,TLiwVariant((TReal)direcinfo));
   264 	            	
   258 	            	
   265 	            }
   259 	            }
   266 
   260 
   267 	        }
   261 	       
   268 
       
   269 
       
   270 	    if(currCapability & TPositionModuleInfo :: ECapabilityCompass) //Extract compass info if any and append it 
       
   271 	        {                                                               // as part of out parm list
       
   272 	        TReal32 compassinfo ;
   262 	        TReal32 compassinfo ;
   273 
   263 
   274 	        if(!aGenericInfo->GetValue(EPositionFieldHeading , compassinfo) )
   264 	        if(!aGenericInfo->GetValue(EPositionFieldHeading , compassinfo) )
   275 	            {
   265 	            {
   276 	            result->InsertL(KPositionFieldHeading,TLiwVariant((TReal)compassinfo));
   266 	            result->InsertL(KPositionFieldHeading,TLiwVariant((TReal)compassinfo));
   277 	            ;
   267            
   278 	            }
   268 	            }
   279 
   269 
   280 
   270 
   281 	        if(!aGenericInfo->GetValue(EPositionFieldHeadingError , compassinfo) )
   271 	        if(!aGenericInfo->GetValue(EPositionFieldHeadingError , compassinfo) )
   282 	            {
   272 	            {
   298 	            	
   288 	            	
   299 	            }
   289 	            }
   300 
   290 
   301 
   291 
   302 
   292 
   303 	        }
       
   304 
   293 
   305 	    /*if( currCapability & TPositionModuleInfo :: ECapabilityNmea ) //Extract Nmea info if any and append it 	
   294 	    /*if( currCapability & TPositionModuleInfo :: ECapabilityNmea ) //Extract Nmea info if any and append it 	
   306 	        {                                                             //as part of out param list  
   295 	        {                                                             //as part of out param list  
   307 	        TUint8 numSentences ;
   296 	        TUint8 numSentences ;
   308 
   297