--- /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;
+ }