services/terminalmodeservice/src/upnptmserverdeviceinfo.cpp
author hgs
Fri, 23 Jul 2010 08:57:49 +0300
changeset 24 e9457ebcc4df
permissions -rw-r--r--
201029
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
24
hgs
parents:
diff changeset
     1
/**
hgs
parents:
diff changeset
     2
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors:
hgs
parents:
diff changeset
    13
*
hgs
parents:
diff changeset
    14
* Description: CUpnpTmServerDeviceInfo class implementation.
hgs
parents:
diff changeset
    15
*
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
//  Include Files  
hgs
parents:
diff changeset
    19
#include "upnptmserverdeviceinfo.h"
hgs
parents:
diff changeset
    20
#include "OstTraceDefinitions.h"
hgs
parents:
diff changeset
    21
#ifdef OST_TRACE_COMPILER_IN_USE
hgs
parents:
diff changeset
    22
#include "upnptmserverdeviceinfoTraces.h"
hgs
parents:
diff changeset
    23
#endif
hgs
parents:
diff changeset
    24
hgs
parents:
diff changeset
    25
// ============================ MEMBER FUNCTIONS ===================================
hgs
parents:
diff changeset
    26
hgs
parents:
diff changeset
    27
// ---------------------------------------------------------------------------------
hgs
parents:
diff changeset
    28
// CUpnpTmServerDeviceInfo::NewL
hgs
parents:
diff changeset
    29
// Two-phased constructor.
hgs
parents:
diff changeset
    30
// @param aIapId    IAP ID.
hgs
parents:
diff changeset
    31
// ---------------------------------------------------------------------------------
hgs
parents:
diff changeset
    32
//
hgs
parents:
diff changeset
    33
EXPORT_C CUpnpTmServerDeviceInfo* CUpnpTmServerDeviceInfo::NewL( TUint32 aIapId )
hgs
parents:
diff changeset
    34
    {
hgs
parents:
diff changeset
    35
    OstTraceFunctionEntry0( CUPNPTMSERVERDEVICEINFO_NEWL_ENTRY );
hgs
parents:
diff changeset
    36
    CUpnpTmServerDeviceInfo* self = new (ELeave) CUpnpTmServerDeviceInfo(  );  
hgs
parents:
diff changeset
    37
    CleanupStack::PushL(self);
hgs
parents:
diff changeset
    38
    self->ConstructL( aIapId );
hgs
parents:
diff changeset
    39
    CleanupStack::Pop(self);
hgs
parents:
diff changeset
    40
    OstTraceFunctionExit0( CUPNPTMSERVERDEVICEINFO_NEWL_EXIT );
hgs
parents:
diff changeset
    41
    return self;
hgs
parents:
diff changeset
    42
    }
hgs
parents:
diff changeset
    43
hgs
parents:
diff changeset
    44
// ---------------------------------------------------------------------------------
hgs
parents:
diff changeset
    45
// CUpnpTmServerDeviceInfo::CUpnpTmServerDeviceInfo
hgs
parents:
diff changeset
    46
// C++ default constructor can NOT contain any code, that
hgs
parents:
diff changeset
    47
// might leave.
hgs
parents:
diff changeset
    48
// ---------------------------------------------------------------------------------
hgs
parents:
diff changeset
    49
//
hgs
parents:
diff changeset
    50
CUpnpTmServerDeviceInfo::CUpnpTmServerDeviceInfo( ):iDeviceInfo(NULL),
hgs
parents:
diff changeset
    51
    iBtAddr(NULL),iStartConnValue(EFalse)
hgs
parents:
diff changeset
    52
    {
hgs
parents:
diff changeset
    53
hgs
parents:
diff changeset
    54
    }
hgs
parents:
diff changeset
    55
hgs
parents:
diff changeset
    56
// ---------------------------------------------------------------------------------
hgs
parents:
diff changeset
    57
// CUpnpTmServerDeviceInfo::ConstructL
hgs
parents:
diff changeset
    58
// Symbian 2nd phase constructor can leave.
hgs
parents:
diff changeset
    59
// @param aIapId    IAP ID. Leaves if the proper IAP ID is not set.
hgs
parents:
diff changeset
    60
// ---------------------------------------------------------------------------------
hgs
parents:
diff changeset
    61
//
hgs
parents:
diff changeset
    62
void CUpnpTmServerDeviceInfo::ConstructL( TUint32 aIapId )
hgs
parents:
diff changeset
    63
    {
hgs
parents:
diff changeset
    64
    OstTraceFunctionEntry0( CUPNPTMSERVERDEVICEINFO_CONSTRUCTL_ENTRY );
hgs
parents:
diff changeset
    65
    OstTrace1( TRACE_NORMAL, CUPNPTMSERVERDEVICEINFO_CONSTRUCTL, "CUpnpTmServerDeviceInfo::ConstructL;aIapId=%d", aIapId );
hgs
parents:
diff changeset
    66
    
hgs
parents:
diff changeset
    67
    if ( aIapId <= KErrNone )
hgs
parents:
diff changeset
    68
        {
hgs
parents:
diff changeset
    69
        User::Leave( KErrArgument );  // Leaves in case of invalid IAP ID
hgs
parents:
diff changeset
    70
        }
hgs
parents:
diff changeset
    71
    iIapId = aIapId;   
hgs
parents:
diff changeset
    72
    OstTraceFunctionExit0( CUPNPTMSERVERDEVICEINFO_CONSTRUCTL_EXIT );
hgs
parents:
diff changeset
    73
    }
hgs
parents:
diff changeset
    74
hgs
parents:
diff changeset
    75
// ---------------------------------------------------------------------------------
hgs
parents:
diff changeset
    76
// CUpnpTmServerDeviceInfo::~CUpnpTmServerDeviceInfo
hgs
parents:
diff changeset
    77
// Destructor
hgs
parents:
diff changeset
    78
// ---------------------------------------------------------------------------------
hgs
parents:
diff changeset
    79
//
hgs
parents:
diff changeset
    80
CUpnpTmServerDeviceInfo::~CUpnpTmServerDeviceInfo()
hgs
parents:
diff changeset
    81
    {
hgs
parents:
diff changeset
    82
    OstTraceFunctionEntry0( CUPNPTMSERVERDEVICEINFO_CUPNPTMSERVERDEVICEINFO_ENTRY );
hgs
parents:
diff changeset
    83
    delete iDeviceInfo;
hgs
parents:
diff changeset
    84
    delete iBtAddr;
hgs
parents:
diff changeset
    85
    iDeviceIconList.ResetAndDestroy();
hgs
parents:
diff changeset
    86
    iDeviceIconList.Close();
hgs
parents:
diff changeset
    87
    OstTraceFunctionExit0( CUPNPTMSERVERDEVICEINFO_CUPNPTMSERVERDEVICEINFO_EXIT );
hgs
parents:
diff changeset
    88
    }
hgs
parents:
diff changeset
    89
hgs
parents:
diff changeset
    90
// ---------------------------------------------------------------------------------
hgs
parents:
diff changeset
    91
// CUpnpTmServerDeviceInfo::SetDeviceInfoL
hgs
parents:
diff changeset
    92
// Method is used to provide Nokia specific additional info about the device
hgs
parents:
diff changeset
    93
// @param aDeviceInfo    XML formatted buffer containg deviceInfo element.
hgs
parents:
diff changeset
    94
// -------------------------------------------------------------------------------------
hgs
parents:
diff changeset
    95
//
hgs
parents:
diff changeset
    96
EXPORT_C void CUpnpTmServerDeviceInfo::SetDeviceInfoL( const TDesC8& aDeviceInfo )
hgs
parents:
diff changeset
    97
    {
hgs
parents:
diff changeset
    98
    OstTraceFunctionEntry0( CUPNPTMSERVERDEVICEINFO_SETDEVICEINFOL_ENTRY );
hgs
parents:
diff changeset
    99
    delete iDeviceInfo;
hgs
parents:
diff changeset
   100
    iDeviceInfo = NULL;
hgs
parents:
diff changeset
   101
    iDeviceInfo = aDeviceInfo.AllocL();   
hgs
parents:
diff changeset
   102
    OstTraceFunctionExit0( CUPNPTMSERVERDEVICEINFO_SETDEVICEINFOL_EXIT );
hgs
parents:
diff changeset
   103
    }
hgs
parents:
diff changeset
   104
hgs
parents:
diff changeset
   105
// ---------------------------------------------------------------------------------
hgs
parents:
diff changeset
   106
// CUpnpTmServerDeviceInfo::SetBtAddressL
hgs
parents:
diff changeset
   107
// Method is used to set bluetooth MAC address of the device
hgs
parents:
diff changeset
   108
// @param aBtAddress   BT MAC address
hgs
parents:
diff changeset
   109
// ---------------------------------------------------------------------------------
hgs
parents:
diff changeset
   110
//
hgs
parents:
diff changeset
   111
EXPORT_C void CUpnpTmServerDeviceInfo::SetBtAddressL( const TDesC8& aBtAddress )
hgs
parents:
diff changeset
   112
    {
hgs
parents:
diff changeset
   113
    OstTraceFunctionEntry0( CUPNPTMSERVERDEVICEINFO_SETBTADDRESSL_ENTRY );
hgs
parents:
diff changeset
   114
    delete iBtAddr;
hgs
parents:
diff changeset
   115
    iBtAddr = NULL;
hgs
parents:
diff changeset
   116
    iBtAddr = aBtAddress.AllocL();
hgs
parents:
diff changeset
   117
    OstTraceFunctionExit0( CUPNPTMSERVERDEVICEINFO_SETBTADDRESSL_EXIT );
hgs
parents:
diff changeset
   118
    }
hgs
parents:
diff changeset
   119
hgs
parents:
diff changeset
   120
// ---------------------------------------------------------------------------------
hgs
parents:
diff changeset
   121
// CUpnpTmServerDeviceInfo::AddDeviceIconL
hgs
parents:
diff changeset
   122
// Method is used to provide device icon information.
hgs
parents:
diff changeset
   123
// @param aDeviceIcon   Pointer to the Terminal Mode Icon object.
hgs
parents:
diff changeset
   124
//                      Ownership of the object is passed.
hgs
parents:
diff changeset
   125
// ---------------------------------------------------------------------------------
hgs
parents:
diff changeset
   126
//
hgs
parents:
diff changeset
   127
EXPORT_C void CUpnpTmServerDeviceInfo::AddDeviceIconL( CUpnpTerminalModeIcon* aDeviceIcon )
hgs
parents:
diff changeset
   128
    {
hgs
parents:
diff changeset
   129
    OstTraceFunctionEntry0( CUPNPTMSERVERDEVICEINFO_ADDDEVICEICONL_ENTRY );
hgs
parents:
diff changeset
   130
    iDeviceIconList.AppendL(aDeviceIcon);
hgs
parents:
diff changeset
   131
    OstTraceFunctionExit0( CUPNPTMSERVERDEVICEINFO_ADDDEVICEICONL_EXIT );
hgs
parents:
diff changeset
   132
    }
hgs
parents:
diff changeset
   133
hgs
parents:
diff changeset
   134
// End of File