sensorsupport/testsensor/src/ssyreferencecontrol.cpp
branchRCL_3
changeset 20 c2c61fdca848
parent 19 924385140d98
child 21 9af619316cbf
--- a/sensorsupport/testsensor/src/ssyreferencecontrol.cpp	Tue Aug 31 15:24:25 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,281 +0,0 @@
-// ssyreferencecontrol.cpp
-
-// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-
-
-
-#include <sensors/spi/ssycallback.h>                     // MSsyCallback
-#include "ssyreferencecontrol.h"
-#include "ssyreferencetrace.h"
-#include "ssyreferencechannel.h"
-#include "ssyreferencecmdhandler.h"
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CSsyReferenceControl C++ constructor
-// ---------------------------------------------------------------------------
-//
-CSsyReferenceControl::CSsyReferenceControl( MSsyCallback& aSsyCallback ) :
-    iSsyCallback( aSsyCallback )
-    {
-    COMPONENT_TRACE( ( _L( "SSY Reference Plugin - CSsyReferenceControl::CSsyReferenceControl()" ) ) );
-    COMPONENT_TRACE( ( _L( "SSY Reference Plugin - CSsyReferenceControl::CSsyReferenceControl() - return" ) ) );
-    }
-
-
-// ---------------------------------------------------------------------------
-// Symbian 2nd phase constructor
-// ---------------------------------------------------------------------------
-//
-void CSsyReferenceControl::ConstructL()
-    {
-    COMPONENT_TRACE( ( _L( "SSY Reference Plugin - CSsyReferenceControl::ConstructL()" ) ) );
-
-    // Create configurator and start config file parsing
-    iConfigFile = CSsyReferenceConfig::NewL();
-    TRAPD( err, iConfigFile->InitConfigL() ); // This will block until config is ready
-
-    if ( KErrNone != err )
-        {
-        COMPONENT_TRACE( ( _L( "SSY Reference Plugin - CSsyReferenceControl::ConstructL() - Init config failed: %i" ), err ) );
-        }
-
-    // ---------------------------------------------------------------
-
-    // Store channel count for later use
-    const TInt channelCount( iConfigFile->ChannelCount() );
-
-    // Instantiate channel info list
-    RSensrvChannelInfoList channelInfoList( channelCount );
-    CleanupClosePushL( channelInfoList );
-
-    // Fills channel info list with generated channel info objects
-    iConfigFile->GenerateChannels( channelInfoList );
-
-    // Register channels. Sensor Server generates unique ID for each channel
-    iSsyCallback.RegisterChannelsL( channelInfoList );
-
-    // Update channel IDs to ConfigFile
-    iConfigFile->UpdateChannelIds( channelInfoList );
-
-    // Create channels
-    iChannelArray = new ( ELeave ) CArrayPtrFlat<CSsyReferenceChannel>( channelCount );
-    for ( TInt i = 0; i < channelCount; i++ )
-        {
-        CSsyReferenceChannel* channel = CSsyReferenceChannel::NewL( *this, channelInfoList[i] );
-        iChannelArray->AppendL( channel );
-        }
-
-    // Clean up
-    CleanupStack::PopAndDestroy( &channelInfoList );
-
-    // Get properties of this SSY. Leaves with KErrNotFound if not found. These properties are 
-    // not mandatory, so we can ignore that leave
-    TRAP_IGNORE( iConfigFile->GetSensorPropertiesL( iProperties ) );
-
-    COMPONENT_TRACE( ( _L( "SSY Reference Plugin - CSsyReferenceControl::ConstructL() - return" ) ) );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CSsyReferenceControl::NewL
-// ---------------------------------------------------------------------------
-//
-CSsyReferenceControl* CSsyReferenceControl::NewL( MSsyCallback& aSsyCallback )
-    {
-    COMPONENT_TRACE( ( _L( "SSY Reference Plugin - CSsyReferenceControl::NewL()" ) ) );
-    CSsyReferenceControl* self = new ( ELeave ) CSsyReferenceControl( aSsyCallback );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    COMPONENT_TRACE( ( _L( "SSY Reference Plugin - CSsyReferenceControl::NewL() - return" ) ) );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CSsyReferenceControl::~CSsyReferenceControl()
-    {
-    COMPONENT_TRACE( ( _L( "SSY Reference Plugin - CSsyReferenceControl::~CSsyReferenceControl()" ) ) );
-
-    if ( iChannelArray )
-        {
-        if ( iChannelArray->Count() )
-            {
-            iChannelArray->ResetAndDestroy();
-            }
-        
-        delete iChannelArray;
-        }
-
-    if ( iConfigFile ) 
-        {
-        delete iConfigFile;
-        iConfigFile = NULL;
-        }
-
-    iProperties.Reset();
-
-    COMPONENT_TRACE( ( _L( "SSY Reference Plugin - CSsyReferenceControl::~CSsyReferenceControl() - return" ) ) );
-    }
-
-// ---------------------------------------------------------------------------
-// CSsyReferenceControl::SsyCallback
-// ---------------------------------------------------------------------------
-//
-MSsyCallback& CSsyReferenceControl::SsyCallback() const
-    {
-    COMPONENT_TRACE( ( _L( "SSY Reference Plugin - CSsyReferenceControl::SsyCallback()" ) ) );
-    return iSsyCallback;
-    }
-
-// ---------------------------------------------------------------------------
-// CSsyReferenceControl::SsyConfig
-// ---------------------------------------------------------------------------
-//
-CSsyReferenceConfig& CSsyReferenceControl::SsyConfig() const
-    {
-    COMPONENT_TRACE( ( _L( "SSY Reference Plugin - CSsyReferenceControl::SsyConfig()" ) ) );
-    return *iConfigFile;
-    }
-
-// ---------------------------------------------------------------------------
-// CSsyReferenceControl::FindPropertyL
-// ---------------------------------------------------------------------------
-//
-void CSsyReferenceControl::FindPropertyL( 
-    const TSensrvPropertyId aPropertyId, 
-    const TInt aArrayIndex,
-    TSensrvProperty& aProperty )
-    {
-    COMPONENT_TRACE( ( _L( "SSY Reference Plugin - CSsyReferenceControl::FindPropertyL()" ) ) );
-    TSensrvProperty* property = NULL;
-    TBool propertyFound( EFalse );
-
-    // Search property
-    for ( TInt i = 0; i < iProperties.Count() && !propertyFound; i++ )
-        {
-        property = static_cast<TSensrvProperty*>( &iProperties[i] );
-
-        // Compare property IDs
-        if ( property->GetPropertyId() == aPropertyId )
-            {
-            // Correct property ID is found, now check is it array type of property.
-            // Either array indexes must match or propertys array index has to be array info
-            if ( ( property->GetArrayIndex() == aArrayIndex ) || 
-                 ( ( property->GetArrayIndex() == ESensrvArrayPropertyInfo ) && 
-                   ( ESensrvSingleProperty == aArrayIndex ) ) )
-                {
-                // Correct array index found
-                propertyFound = ETrue;    
-                }
-            }
-        }
-
-    // Leave if not found
-    if ( !propertyFound )
-        {
-        User::Leave( KErrNotFound );
-        }
-
-    aProperty = *property;
-
-    COMPONENT_TRACE( ( _L( "SSY Reference Plugin - CSsyReferenceControl::FindPropertyL() - return" ) ) );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CSsyReferenceControl::FindChannel
-// ---------------------------------------------------------------------------
-//
-CSsyReferenceChannel* CSsyReferenceControl::FindChannelL( TSensrvChannelId aChannelID )
-    {
-    COMPONENT_TRACE( ( _L( "SSY Reference Plugin - CSsyReferenceControl::FindChannel()" ) ) );
-    
-    if ( !iChannelArray )
-        {
-        User::Leave( KErrNotFound );
-        }
-
-    const TInt channelCount( iChannelArray->Count() );
-    CSsyReferenceChannel* channel = NULL;
-
-    // Check that there are channels
-    if ( channelCount ) 
-        {
-        // Loop channels until correct channel is found
-        for ( TInt i = 0; i < channelCount; i++ ) 
-            {
-            channel = iChannelArray->At( i );
-            
-            // Compare channel id
-            if ( channel->ChannelId() == aChannelID )
-                {
-                // Channel found, no need to loop rest
-                i = channelCount;
-                }
-            }
-        }
-
-    // Leave if channel is not found
-    if ( !channel )
-        {
-        User::Leave( KErrNotFound );
-        }
-
-    COMPONENT_TRACE( ( _L( "SSY Reference Plugin - CSsyReferenceControl::FindChannel() - return" ) ) );
-    return channel;
-    }
-
-// ---------------------------------------------------------------------------
-// CSsyReferenceControl::OpenChannelL
-// ---------------------------------------------------------------------------
-//
-void CSsyReferenceControl::OpenChannelL( TSensrvChannelId aChannelID )
-    {
-    COMPONENT_TRACE( ( _L( "SSY Reference Plugin - CSsyReferenceControl::OpenChannelL()" ) ) );
-    // Find and open channel
-    User::LeaveIfError( FindChannelL( aChannelID )->OpenChannel() );
-    COMPONENT_TRACE( ( _L( "SSY Reference Plugin - CSsyReferenceControl::OpenChannelL() - return" ) ) );
-    }
-
-// ---------------------------------------------------------------------------
-// CSsyReferenceControl::CloseChannelL
-// ---------------------------------------------------------------------------
-//
-void CSsyReferenceControl::CloseChannelL( TSensrvChannelId aChannelID )
-    {
-    COMPONENT_TRACE( ( _L( "SSY Reference Plugin - CSsyReferenceControl::CloseChannelL()" ) ) );
-    // Find and close channel
-    User::LeaveIfError( FindChannelL( aChannelID )->CloseChannel() );
-    COMPONENT_TRACE( ( _L( "SSY Reference Plugin - CSsyReferenceControl::CloseChannelL() - return" ) ) );
-    }
-
-// ---------------------------------------------------------------------------
-// CSsyReferenceControl::ProcessResponse
-// ---------------------------------------------------------------------------
-//
-void CSsyReferenceControl::ProcessResponse( TSsyReferenceMsg* /*aMessage*/ )
-    {
-    COMPONENT_TRACE( ( _L( "SSY Reference Plugin - CSsyReferenceControl::ProcessResponse()" ) ) );
-    COMPONENT_TRACE( ( _L( "SSY Reference Plugin - CSsyReferenceControl::ProcessResponse() - return" ) ) );
-    }
-