--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/videofeeds/livetvutils/inc/IptvLiveDataStructures.h Mon Jan 18 20:21:12 2010 +0200
@@ -0,0 +1,121 @@
+/*
+* Copyright (c) 2006 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: Common data structures shared by IP protocol livetv*
+*/
+
+
+
+
+#ifndef __IPTV_SMARTVISION_DATA_STRUCTURES
+#define __IPTV_SMARTVISION_DATA_STRUCTURES
+enum TIptvSmartVisionServiceType
+ {
+ ELiveTv = 0,
+ EVod,
+ EServiceDiscovery
+ };
+
+struct SIptvSmartVisionServiceDiscovery
+ {
+ TBuf8<255> iAddress;
+ TIptvSmartVisionServiceType iServiceType;
+ };
+
+/**
+ * This enum identifies different kind of messages
+ * in message queue that UI listens to
+ */
+enum TIptvQueueMsg
+ {
+ EEPGUpdateCompleted, /**< LiveTV metadata update finished, possibly with error */
+ EEPGUpdateStarted, /**< LiveTV metadata update started */
+ EChannelDataModified, /**< LiveTV channel object has been changed */
+ EChannelIconDownloaded,
+ EIapUp, /**< Internet access point is up in CR engine */
+ EIapDown, /**< Internet access point is down in CR engine */
+ EStartingConnection,
+ EBothAudioVideoExists,
+ EAudioOnly, /**< LiveTV stream contains only audio, no video */
+ EVideoOnly, /**< LiveTV stream contains only video, no audio */
+ ENoAudioOrVideo, /**< LiveTV stream contains both audio and video */
+ EAuthenticationFailed, /**< RTSP server said 401 to common recording engine */
+ EScheduleCompleted,
+ ECRROPSDPReady, /**< Common recording engine has SDP file ready for ROP */
+ EConnectionError /**< Unable to open connection in RTP engine & CR engine */
+ } ;
+/**
+ * This structure is sent over message queue where
+ * ui sits listening
+ */
+struct SIptvQueueEntry
+ {
+ TIptvQueueMsg iMsg ; /**< Identifies the message */
+ TUint iServiceId ; /**< Service provider that this message is about */
+ TInt64 iModifiedChannelId ; /**< In case of EChannelDataModified the channel id */
+ TInt iErr ; /**< May be used to pass error value related to message */
+ };
+
+/**
+ * This structure is used when downloading channel icons
+ */
+struct SIptvChannelIconEntry
+ {
+ TUint32 iServiceId ; /**< Service provider that this message is about */
+ TInt64 iChannelId ;
+ TBuf8<256> iLogoPath;
+ };
+
+/**
+* Version of CleanupXxxxPushL() that can be used to 'ResetAndDestroy'
+* the supplied object if the clean-up stack unwinds.
+*/
+
+template <class T>
+class CleanupResetAndDestroy
+ {
+ public:
+ inline static void PushL( T& aRef );
+ private:
+ static void ResetAndDestroy( TAny *aPtr );
+ };
+
+template <class T>
+ inline void CleanupResetAndDestroyPushL( T& aRef );
+
+template <class T>
+inline void CleanupResetAndDestroy<T>::PushL( T& aRef )
+ {
+ CleanupStack::PushL( TCleanupItem( &ResetAndDestroy, &aRef ) );
+ }
+
+template <class T>
+void CleanupResetAndDestroy<T>::ResetAndDestroy( TAny *aPtr )
+ {
+ ( static_cast<T*>( aPtr ) )->ResetAndDestroy();
+ }
+
+template <class T>
+inline void CleanupResetAndDestroyPushL( T& aRef )
+ {
+ CleanupResetAndDestroy<T>::PushL( aRef );
+ }
+
+/**
+ * Name of the queue that is used in creating and opening the queue
+ */
+_LIT(KIptvUiMsgQueueName, "IPTV_MSG_Q_UI") ;
+
+_LIT(KIptvUiEPGMsgQueueName, "IPTV_EPG_MSG_QUEUE" );
+
+#endif //__IPTV_SMARTVISION_DATA_STRUCTURES