videofeeds/vcnsuiengine/src/vcxnsservice.cpp
changeset 0 96612d01cf9f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/videofeeds/vcnsuiengine/src/vcxnsservice.cpp	Mon Jan 18 20:21:12 2010 +0200
@@ -0,0 +1,466 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "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 "IptvDebug.h"
+#include "vcxnsservice.h"
+
+// -----------------------------------------------------------------------------
+// CVcxNsService::CVcxNsService()
+// -----------------------------------------------------------------------------
+//
+CVcxNsService::CVcxNsService()
+    : iHighlightIndex( 0 )
+    {
+    }
+
+// -----------------------------------------------------------------------------
+// CVcxNsService::~CVcxNsService()
+// -----------------------------------------------------------------------------
+//
+CVcxNsService::~CVcxNsService( )
+    {
+    delete iIconPath;
+    delete iName;
+    delete iUserName;
+    delete iPassword;
+    delete iCustomUri;
+    delete iDescription;
+    delete iAccountMgmtUri;
+    
+    iServiceGroup.ResetAndDestroy();
+    }
+
+// -----------------------------------------------------------------------------
+// CVcxNsService::NewL()
+// -----------------------------------------------------------------------------
+//
+CVcxNsService* CVcxNsService::NewL( )
+    {
+    CVcxNsService* self = new ( ELeave ) CVcxNsService;
+    
+    return self;
+    }
+
+// -----------------------------------------------------------------------------
+// CVcxNsService::GetName()
+// -----------------------------------------------------------------------------
+//
+EXPORT_C const TDesC& CVcxNsService::GetName()
+    {
+    if( iName && iName->Length() > 0 )
+        {
+        return *iName;
+        }
+    else
+        {
+        return KNullDesC;
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CVcxNsService::GetDesc()
+// -----------------------------------------------------------------------------
+//
+EXPORT_C const TDesC& CVcxNsService::GetDesc()
+    {
+    if( iDescription && iDescription->Length() > 0 )
+        {
+        return *iDescription;
+        }
+    else
+        {
+        return KNullDesC;
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CVcxNsService::GetIconPath()
+// -----------------------------------------------------------------------------
+//
+EXPORT_C const TDesC& CVcxNsService::GetIconPath()
+    {
+    if( iIconPath && iIconPath->Length() > 0 )
+        {
+        return *iIconPath;
+        }
+    else
+        {
+        return KNullDesC;
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CVcxNsService::GetUserNameL()
+// -----------------------------------------------------------------------------
+//
+EXPORT_C const TDesC& CVcxNsService::GetUserName()
+    {
+    if( iUserName && iUserName->Length() > 0 )
+        {
+        return *iUserName;
+        }
+    else
+        {
+        return KNullDesC;
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CVcxNsService::GetPasswordL()
+// -----------------------------------------------------------------------------
+//
+EXPORT_C const TDesC& CVcxNsService::GetPassword()
+    {
+    if( iPassword && iPassword->Length() > 0 )
+        {
+        return *iPassword;
+        }
+    else
+        {
+        return KNullDesC;
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CVcxNsService::GetServiceId()
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TUint32 CVcxNsService::GetServiceId()
+    {
+    return iServiceId;
+    }
+
+// -----------------------------------------------------------------------------
+// CVcxNsService::GetUpdateTime()
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TTime  CVcxNsService::GetUpdateTime()
+    {
+    return iUpdateTime;
+    }
+
+// -----------------------------------------------------------------------------
+// CVcxNsService::GetUpdateStatus()
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CVcxNsService::TServiceUpdateStatus CVcxNsService::GetUpdateStatus()
+    {
+    return iUpdateStatus;
+    }
+
+// -----------------------------------------------------------------------------
+// CVcxNsService::GetIap()
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TUint32 CVcxNsService::GetIap()
+    {
+    return iIap;
+    }
+
+// -----------------------------------------------------------------------------
+// CVcxNsService::GetIsReadOnlyIap()
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TBool CVcxNsService::GetIsReadOnlyIap()
+    {
+    return iIsReadOnlyIap;
+    }
+
+// -----------------------------------------------------------------------------
+// CVcxNsService::Type()
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CVcxNsService::TVcxNsVodServiceType CVcxNsService::Type() const
+    {
+    return iType;
+    }
+
+// -----------------------------------------------------------------------------
+// CVcxNsService::AccountMgmtUri
+// -----------------------------------------------------------------------------
+//
+EXPORT_C const TDesC& CVcxNsService::AccountMgmtUri()
+    {
+    if ( iAccountMgmtUri )
+        {
+        return *iAccountMgmtUri;
+        }
+    else
+        { 
+        return KNullDesC();
+        }    
+    }
+
+// -----------------------------------------------------------------------------
+// CVcxNsService::CustomUri
+// Get URI that can be used in browser launch
+// -----------------------------------------------------------------------------
+//
+const TDesC& CVcxNsService::CustomUri( )
+    {
+    if ( iCustomUri )
+        {
+        return *iCustomUri;
+        }
+    else
+        { 
+        return KNullDesC();
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CVcxNsService::SetNameL()
+// -----------------------------------------------------------------------------
+//
+void CVcxNsService::SetNameL( const TDesC& aName )
+    {
+    delete iName;
+    iName = NULL;
+    
+    if( aName.Length() > 0 )
+        {
+        iName = aName.AllocL();
+        } 
+    }
+
+// -----------------------------------------------------------------------------
+// CVcxNsService::SetDescL()
+// -----------------------------------------------------------------------------
+//
+void CVcxNsService::SetDescL( const TDesC& aDesc )
+    {
+    delete iDescription;
+    iDescription = NULL;
+    
+    if( aDesc.Length() > 0 )
+        {
+        iDescription = aDesc.AllocL();
+        } 
+    }
+
+// -----------------------------------------------------------------------------
+// CVcxNsService::SetIconPathL()
+// -----------------------------------------------------------------------------
+//
+void CVcxNsService::SetIconPathL(  const TDesC& aPath )
+    {
+    delete iIconPath;
+    iIconPath = NULL;
+    
+    if( aPath.Length() > 0 )
+        {
+        iIconPath = aPath.AllocL();
+        } 
+    }
+
+// -----------------------------------------------------------------------------
+// CVcxNsService::SetUserNameL()
+// -----------------------------------------------------------------------------
+//
+void CVcxNsService::SetUserNameL(  const TDesC& aPath )
+    {
+    delete iUserName;
+    iUserName = NULL;
+    
+    if( aPath.Length() > 0 )
+        {
+        iUserName = aPath.AllocL();
+        } 
+    }
+
+// -----------------------------------------------------------------------------
+// CVcxNsService::SetPasswordL()
+// -----------------------------------------------------------------------------
+//
+void CVcxNsService::SetPasswordL(  const TDesC& aPath )
+    {
+    delete iPassword;
+    iPassword = NULL;
+    
+    if( aPath.Length() > 0 )
+        {
+        iPassword = aPath.AllocL();
+        } 
+    }
+
+// -----------------------------------------------------------------------------
+// CVcxNsService::SetServiceId()
+// -----------------------------------------------------------------------------
+//
+void CVcxNsService::SetServiceId( const TUint32 aServiceId )
+    {
+    iServiceId = aServiceId;
+    }
+
+// -----------------------------------------------------------------------------
+// CVcxNsService::SetUpdateTime()
+// -----------------------------------------------------------------------------
+//
+void CVcxNsService::SetUpdateTime( const TTime aUpdateTime )
+    {
+    iUpdateTime = aUpdateTime;
+    }
+
+// -----------------------------------------------------------------------------
+// CVcxNsService::SetUpdateStatus()
+// -----------------------------------------------------------------------------
+//
+void CVcxNsService::SetUpdateStatus( const TServiceUpdateStatus aUpdateStatus )
+    {
+#ifdef _DEBUG    
+    IPTVLOGSTRING2_LOW_LEVEL("CVcxNsService::SetUpdateStatus for service: %d ", iServiceId );
+
+    switch ( aUpdateStatus )
+        {
+        case ENotUpdating:
+            IPTVLOGSTRING_LOW_LEVEL("ENotUpdating");
+            break;
+        case EUpdatePending:
+            IPTVLOGSTRING_LOW_LEVEL("EUpdatePending");
+            break;
+        case EStartingPending:
+            IPTVLOGSTRING_LOW_LEVEL("EStartingPending");
+            break;
+        case EUpdateOngoing:
+            IPTVLOGSTRING_LOW_LEVEL("EUpdateOngoing");
+            break;
+        case EUpdateFailed:
+            IPTVLOGSTRING_LOW_LEVEL("EUpdateFailed");
+            break;
+        default:
+            break;
+        }
+#endif
+    iUpdateStatus = aUpdateStatus;
+    }
+
+// -----------------------------------------------------------------------------
+// CVcxNsService::SetIap()
+// -----------------------------------------------------------------------------
+//
+void CVcxNsService::SetIap( const TUint32 aIap )
+    {
+    iIap = aIap;
+    }
+
+// -----------------------------------------------------------------------------
+// CVcxNsService::SetIsReadOnlyIap()
+// -----------------------------------------------------------------------------
+//
+void CVcxNsService::SetIsReadOnlyIap( const TBool aIsReadOnlyIap )
+    {
+    iIsReadOnlyIap = aIsReadOnlyIap;
+    }
+
+// -----------------------------------------------------------------------------
+// CVcxNsService::SetUriL
+// Set URI that can be used in browser launch.
+// -----------------------------------------------------------------------------
+//
+void CVcxNsService::SetCustomUriL( const TDesC& aCustomUri )
+    {
+    delete iCustomUri;
+    iCustomUri = NULL;
+
+    iCustomUri = aCustomUri.AllocL();
+    }
+
+// -----------------------------------------------------------------------------
+// Set service type
+// -----------------------------------------------------------------------------
+//
+void CVcxNsService::SetType( const TVcxNsVodServiceType aType )
+    {
+    iType = aType;
+    }
+
+// -----------------------------------------------------------------------------
+// CVcxNsService::SetAccountMgmtUriL
+// -----------------------------------------------------------------------------
+//
+void CVcxNsService::SetAccountMgmtUriL( const TDesC& aAccountMgmtUri )
+    {
+    delete iAccountMgmtUri;
+    iAccountMgmtUri = NULL;
+    
+    if ( aAccountMgmtUri.Length() > 0 )
+        {
+        iAccountMgmtUri = aAccountMgmtUri.AllocL();
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// Set group id
+// -----------------------------------------------------------------------------
+//
+void CVcxNsService::SetGroupId( TUint32 aGroupId )
+    {
+    iGroupId = aGroupId;
+    }
+
+// -----------------------------------------------------------------------------
+// Get group id
+// -----------------------------------------------------------------------------
+//
+TUint32 CVcxNsService::GroupId()
+    {
+    return iGroupId;
+    }
+
+// -----------------------------------------------------------------------------
+// Add service to service group
+// -----------------------------------------------------------------------------
+//
+void CVcxNsService::AddSubServiceL( CVcxNsService* aSubService )
+    {
+    if ( iType != EVcxNsMainGroup || !aSubService )
+        {
+        User::Leave( KErrArgument );
+        }
+
+    iServiceGroup.AppendL( aSubService );
+    }
+
+// -----------------------------------------------------------------------------
+// Get service group
+// -----------------------------------------------------------------------------
+//
+RPointerArray<CVcxNsService>& CVcxNsService::ServiceGroup()
+    {
+    return iServiceGroup;
+    }
+
+// -----------------------------------------------------------------------------
+// Set highlight index
+// -----------------------------------------------------------------------------
+//
+void CVcxNsService::SetHighlightCategoryIndex( TInt aIndex )
+    {
+    iHighlightIndex = aIndex;
+    }
+
+// -----------------------------------------------------------------------------
+// Get highlighted index
+// -----------------------------------------------------------------------------
+//
+TInt CVcxNsService::HighlightCategoryIndex()
+    {
+    return iHighlightIndex;
+    }