videofeeds/clientapi/inc/CIptvService.h
branchRCL_3
changeset 23 befca0ec475f
parent 0 96612d01cf9f
equal deleted inserted replaced
22:839377eedc2b 23:befca0ec475f
       
     1 /*
       
     2 * Copyright (c) 2005-2008 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of the License "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:    Object to hold service information*
       
    15 */
       
    16 
       
    17 
       
    18 
       
    19 
       
    20 
       
    21 #ifndef CIPTVSERVICE_H
       
    22 #define CIPTVSERVICE_H
       
    23 
       
    24 //  INCLUDES
       
    25 #include "CIptvUtil.h"
       
    26 #include "TIptvIap.h"
       
    27 #include "CIptvIapList.h"
       
    28 #include <s32mem.h>
       
    29 
       
    30 // CONSTANTS
       
    31                                             
       
    32 // MACROS
       
    33 
       
    34 // DATA TYPES
       
    35 
       
    36 // FUNCTION PROTOTYPES
       
    37 
       
    38 // FORWARD DECLARATIONS
       
    39 
       
    40 
       
    41 // CLASS DECLARATION
       
    42 
       
    43 /**
       
    44 * CIptvService encapsulates Video Center service information.
       
    45 * This class is used by CIptvServiceManager, CIptvServiceManagementClient
       
    46 * and MIptvServiceManagementClientObserver classes. This is just an container,
       
    47 * database is not modified when this class is edited. Editing is done
       
    48 * through CIptvServiceManagementClient instance.
       
    49 */
       
    50 class CIptvService : public CBase
       
    51     {
       
    52     public:  // Constructors and destructor
       
    53         
       
    54         /**
       
    55         * Two-phased constructor.
       
    56         */
       
    57         IMPORT_C static CIptvService* NewL();
       
    58         
       
    59         /**
       
    60         * Destructor.
       
    61         */
       
    62         IMPORT_C virtual ~CIptvService();
       
    63 
       
    64         /**
       
    65         * TServiceType.
       
    66         */
       
    67         enum TServiceType
       
    68             {
       
    69             /**
       
    70             * Video on demand
       
    71             */
       
    72             EVod = 0,
       
    73             
       
    74             /**
       
    75             * Live TV
       
    76             */
       
    77             ELiveTv,
       
    78             
       
    79             /**
       
    80             * Vod cast
       
    81             */
       
    82             EVodCast,
       
    83             
       
    84             /**
       
    85             * Launches browser to a certain url.
       
    86             */
       
    87             EBrowser,
       
    88             
       
    89             /**
       
    90             * Videos on a remote device.
       
    91             */
       
    92             EVideoRemote,
       
    93               
       
    94             /**
       
    95             * Launches application (UID defines which one)
       
    96             */
       
    97             EApplication,
       
    98             
       
    99             /**
       
   100             * DVB-H, launches the mobile tv application.
       
   101             */
       
   102             EMobileTv,
       
   103 
       
   104             /**
       
   105             * Launches browser to an url which is
       
   106             * constructed by appending dynamic data (country code etc)
       
   107             * to address ( received with CIptvService::GetAddress()).
       
   108             * Dynamic data is generated with SecureProvisioningUrlParametersL() function.
       
   109             */
       
   110             ESecureProvisioningServer,
       
   111             
       
   112             /**
       
   113             * Video Store.
       
   114             */
       
   115             EVideoStore,
       
   116             
       
   117             /**
       
   118             * Service group feed.
       
   119             */
       
   120             EServiceGroup,
       
   121             
       
   122             /**
       
   123             * Search URL feed.
       
   124             */
       
   125             ESearch,
       
   126 
       
   127             /**
       
   128             * Upload URL feed.
       
   129             */
       
   130             EUpload,
       
   131 
       
   132             /**
       
   133             * All other service types
       
   134             */
       
   135             EOther
       
   136             
       
   137             };
       
   138         
       
   139         //1 = flag is set, 0 = flag is not set    
       
   140         enum TFlags
       
   141             {
       
   142             /**
       
   143             * Is the service selected (=shown) by UI
       
   144             */
       
   145             ESelected = ( 1 << 0 ),           // 0
       
   146             
       
   147             /**
       
   148             * This affects every field except IAP list, provisioned services are read only.
       
   149             */
       
   150             EReadOnly = ( 1 << 1 ),           // 2
       
   151             
       
   152             /**
       
   153             * If not set, the service is subservice
       
   154             */                                
       
   155             EMainService = ( 1 << 2 ),        // 4
       
   156             
       
   157             /**
       
   158             * If set, connection to this service is approved by UI
       
   159             */ 
       
   160             EConnectionApproved = ( 1 << 3 ), // 8
       
   161             
       
   162             /**
       
   163             * If set, IAPs can't be modified.
       
   164             */ 
       
   165             EReadOnlyIaps = ( 1 << 4 ),       // 16
       
   166 
       
   167             /**
       
   168             * If set, belongs to some service group.
       
   169             */ 
       
   170             EGroupedService = ( 1 << 5 ),     // 32
       
   171 
       
   172             /**
       
   173             * If set, downloaded group is received.
       
   174             */ 
       
   175             EGroupReceived = ( 1 << 6 )       // 64
       
   176             };
       
   177             
       
   178     public: // New functions
       
   179 
       
   180         /**
       
   181          * Sets service unique ID.
       
   182          * ID is created by Service Manager when service is added to database for the first time.
       
   183          * Client needs to set this only when updating existing service.
       
   184          * When adding a service to database this value may be anything.
       
   185          * @param aId unique id.
       
   186          */
       
   187         IMPORT_C void SetId( TUint32 aId );
       
   188 
       
   189         /**
       
   190          * Gets service unique ID.
       
   191          * @return TUint32 service unique ID.
       
   192          */
       
   193         IMPORT_C TUint32 GetId();
       
   194         
       
   195         /**
       
   196          * Sets the service name, KIptvSmServicesDbNameMaxLength is the max length. 
       
   197          * @param aName Name of the service
       
   198          * @return      System wide error code.
       
   199          */
       
   200         IMPORT_C TInt SetName( const TDesC16& aName );
       
   201 
       
   202         /**
       
   203          * Gets the service name.
       
   204          * @return Name of the service.
       
   205          */
       
   206         IMPORT_C TDes16& GetName();
       
   207 
       
   208         /**
       
   209         * Sets the service address, KIptvSmServicesDbAddressMaxLength
       
   210         * (defined in CIptvUtil.h) is the max length in 16-bit words.
       
   211         * @param aAddress The address of the service
       
   212         * @return         System wide error code.
       
   213         */
       
   214         IMPORT_C TInt SetAddress( const TDesC16& aAddress );
       
   215 
       
   216         /**
       
   217         * Gets the service address url.
       
   218         * @return A Reference to service address.
       
   219         */
       
   220         IMPORT_C TDes16& GetAddress();
       
   221 
       
   222         /**
       
   223         * Sets path to icon file. KIptvSmServicesDbIconPathMaxLength is the max
       
   224         * length (in 16-bit words). 
       
   225         * @param aIconPath Path to the icon file
       
   226         * @return          System wide error code.
       
   227         */
       
   228         IMPORT_C TInt SetIconPath( const TDesC16& aIconPath );
       
   229 
       
   230         /**
       
   231         * Gets path to icon file.
       
   232         * @return A Reference to icon path.
       
   233         */ 
       
   234         IMPORT_C TDes16& GetIconPath();
       
   235 
       
   236         /**
       
   237         * Sets EPG plugin UID.
       
   238         * @param aEpgPluginUid EPG plugin UID
       
   239         */
       
   240         IMPORT_C void SetEpgPluginUid( TUid aEpgPluginUid );
       
   241 
       
   242         /**
       
   243         * Gets EPG plugin UID.
       
   244         * @return TUid EPG plugin UID.
       
   245         */
       
   246         IMPORT_C TUid GetEpgPluginUid();
       
   247 
       
   248         /**
       
   249         * Sets VOD plugin UID.
       
   250         * @param aVodPluginUid VOD plugin UID
       
   251         */
       
   252         IMPORT_C void SetVodPluginUid( TUid aVodPluginUid );
       
   253 
       
   254         /**
       
   255         * Gets VOD plugin UID.
       
   256         * @return TUid
       
   257         */
       
   258         IMPORT_C TUid GetVodPluginUid();
       
   259 
       
   260         /**
       
   261         * Sets IPTV plugin UID.
       
   262         * @param aIptvPluginUid IPTV plugin UID
       
   263         */
       
   264         IMPORT_C void SetIptvPluginUid( TUid aIptvPluginUid );
       
   265 
       
   266         /**
       
   267         * Gets IPTV plugin UID.
       
   268         * @return TUint32 IPTV Plugin UID.
       
   269         */
       
   270         IMPORT_C TUid GetIptvPluginUid();
       
   271 
       
   272         /**
       
   273         * Sets service type.
       
   274         * @param Service type.
       
   275         */
       
   276         IMPORT_C void SetType( TServiceType aType );
       
   277 
       
   278         /**
       
   279         * Gets service type.
       
   280         * @return TServiceType.
       
   281         */
       
   282         IMPORT_C TServiceType GetType();
       
   283         
       
   284         /**
       
   285          * Sets Internet access point list.
       
   286          * @param aIapList access point list to set.
       
   287          * @return System wide error code.
       
   288          */
       
   289         IMPORT_C TInt SetIapListL( CIptvIapList& aIapList );
       
   290         
       
   291         /**
       
   292          * Gets Internet access point list.
       
   293          * @return IAP list
       
   294          */
       
   295         IMPORT_C CIptvIapList& GetIapList();
       
   296 
       
   297         /**
       
   298          * Sets user name, KIptvSmPasswordsDbUserNameMaxLength (defined in CIptvUtil.h,
       
   299          * in 16 byte words) is the max length.
       
   300          * @param aUserName User name, used for authentication.
       
   301          * @return          System wide error code.
       
   302          */
       
   303         IMPORT_C TInt SetUserName( const TDesC16& aUserName );
       
   304 
       
   305         /**
       
   306          * Gets user name.
       
   307          * @return User name
       
   308          */
       
   309         IMPORT_C TDes16& GetUserName();
       
   310 
       
   311         /**
       
   312          * Sets password, KIptvSmPasswordsDbPasswordMaxLength is the max length (in 16-bit words,
       
   313          * defined in CIptvUtil.h).
       
   314          * @param aPassword Password, used for authentication.
       
   315          * @return          System wide error code.
       
   316          */
       
   317         IMPORT_C TInt SetPassword( const TDesC16& aPassword );
       
   318 
       
   319         /**
       
   320          * Gets password.
       
   321          * @param aPassword Password, used for authentication.
       
   322          */
       
   323         IMPORT_C TDes16& GetPassword();
       
   324 
       
   325         /**
       
   326          * Sets description of the service.
       
   327          * KIptvSmServicesDbDescMaxLength is the max length (in 16-bit words).
       
   328          * @param aDesc Description.
       
   329          * @return System wide error code.
       
   330          */
       
   331         IMPORT_C TInt SetDesc( const TDesC16& aDesc );
       
   332 
       
   333         /**
       
   334          * Gets description of the service.
       
   335          * @return Description of the service.
       
   336          */
       
   337         IMPORT_C TDes16& GetDesc();
       
   338         
       
   339         /**
       
   340          * Sets service flags, see TFlags for bit values.
       
   341          * @param aFlags 32 bits of flags
       
   342          */    	
       
   343         IMPORT_C void SetFlags( TUint32 aFlags );
       
   344 
       
   345         /**
       
   346          * Gets service flags, see TFlags for bit values.
       
   347          * @return Flags.
       
   348          */    	
       
   349         IMPORT_C TUint32 GetFlags();
       
   350 
       
   351         /**
       
   352          * Sets application UID value.
       
   353          * @param aUid
       
   354          */    	
       
   355         IMPORT_C void SetApplicationUid( TInt32 aUid );
       
   356 
       
   357         /**
       
   358          * Gets application UID.
       
   359          * @return Application UID.
       
   360          */    	
       
   361         IMPORT_C TInt32 GetApplicationUid();
       
   362 
       
   363         /**
       
   364          * Sets display order. Client can use this to store services
       
   365          * position on the screen.
       
   366          * @param aOrder
       
   367          */    	
       
   368         IMPORT_C void SetDisplayOrder( TUint32 aOrder );
       
   369 
       
   370         /**
       
   371          * Gets display order.
       
   372          * @return Display order.
       
   373          */    	
       
   374         IMPORT_C TUint32 GetDisplayOrder();
       
   375                 
       
   376         /**
       
   377          * Sets provider ID.
       
   378          * KIptvSmServicesDbProviderIdMaxLength is the maximum length.
       
   379          * This is unique, if one tries to add a new service to database
       
   380          * and there is already a service with the same provider id and the provider id
       
   381          * is != empty descriptor, then new record is not created, instead the existing service
       
   382          * is updated.
       
   383          * @param aProviderId
       
   384          * @return System wide error code.
       
   385          */
       
   386         IMPORT_C TInt SetProviderId( const TDesC& aProviderId );
       
   387 
       
   388         /**
       
   389          * Gets provider ID.
       
   390          * @return provider id
       
   391          */
       
   392         IMPORT_C TDesC& GetProviderId();
       
   393 
       
   394         /**
       
   395          * Sets account management url.
       
   396          * KIptvSmServicesDbAccountManagementUrlMaxLength is the maximum length.
       
   397          * @param aAccountManagementUrl
       
   398          * @return System wide error code.
       
   399          */
       
   400         IMPORT_C TInt SetAccountManagementUrl( const TDesC& aAccountManagementUrl );
       
   401 
       
   402         /**
       
   403          * Gets account management url.
       
   404          * @return account management url.
       
   405          */
       
   406         IMPORT_C TDesC& GetAccountManagementUrl();
       
   407 
       
   408         /**
       
   409          * Sets EPG update time.
       
   410          * @param aTime time.
       
   411          */
       
   412         IMPORT_C void SetEpgUpdateTimeL( const TTime& aTime );
       
   413 
       
   414         /**
       
   415          * Gets time when EPG was last time updated.
       
   416          * @return time
       
   417          */
       
   418         IMPORT_C TTime& GetEpgUpdateTimeL();
       
   419         
       
   420         /**
       
   421          * Sets IAP name. KIptvSmServicesDbIapNameMaxLength is the maximum length.
       
   422          * IAP name is set when service is being added by provisioning, since provisioning
       
   423          * data can't contain the IAP ID which is generated by the CommsDb and differs from
       
   424          * device to device. IAP name is converted to IAP ID in Network Selection when it
       
   425          * is used for the first time.
       
   426          * @param aIapName IAP name.
       
   427          */
       
   428         IMPORT_C void SetIapNameL( const TDesC& aIapName );
       
   429 
       
   430         /**
       
   431          * Gets IAP name.
       
   432          * @return IAP name.
       
   433          */
       
   434         IMPORT_C const TDesC& GetIapNameL();
       
   435 
       
   436         /**
       
   437          * Sets the search url. KIptvSmServicesDbSearchUrlMaxLength is the maximum length.
       
   438          * @param aSearchUrl The search url.
       
   439          */
       
   440         IMPORT_C void SetSearchUrlL( const TDesC& aSearchUrl );
       
   441 
       
   442         /**
       
   443          * Sets the record url. KIptvSmServicesDbRecordUrlMaxLength is the maximum length.
       
   444          * @param aRecordUrl The record url.
       
   445          */
       
   446         IMPORT_C void SetRecordUrlL(const TDesC& aRecordUrl);
       
   447         
       
   448         /**
       
   449          * Gets the search url.
       
   450          * @return The search url.
       
   451          */
       
   452         IMPORT_C const TDesC& SearchUrl() const;
       
   453 
       
   454         /**
       
   455          * Gets the record url.
       
   456          * @return The record url.
       
   457          */
       
   458         IMPORT_C const TDesC& RecordUrl() const;
       
   459         
       
   460         /**
       
   461          * Sets the scheduled download network.
       
   462          * @param aScheduleDlNetwork The scheduled download network.
       
   463          */
       
   464         IMPORT_C void SetScheduleDlNetwork( TUint aScheduleDlNetwork );
       
   465 
       
   466         /**
       
   467          * Get the scheduled download network.
       
   468          * @return The scheduled download network.
       
   469          */
       
   470         IMPORT_C TUint ScheduleDlNetwork() const;
       
   471 
       
   472         /**
       
   473          * Sets the scheduled download time.
       
   474          * @param aScheduleDlTime The scheduled download time.
       
   475          */
       
   476         IMPORT_C void SetScheduleDlTime( TUint aScheduleDlTime );
       
   477 
       
   478         /**
       
   479          * Get the scheduled download time.
       
   480          * @return The scheduled download time.
       
   481          */
       
   482         IMPORT_C TUint ScheduleDlTime() const;
       
   483 
       
   484         /**
       
   485          * Sets the scheduled download type.
       
   486          * @param aScheduleDlNetwork The scheduled download type.
       
   487          */
       
   488         IMPORT_C void SetScheduleDlType( TUint aScheduleDlType );
       
   489 
       
   490         /**
       
   491          * Get the scheduled download type.
       
   492          * @return The scheduled download type.
       
   493          */
       
   494         IMPORT_C TUint ScheduleDlType() const;
       
   495 
       
   496         /**
       
   497          * Sets the last succesfull scheduled download time.
       
   498          * @param aScheduleDlNetwork The last succesfull scheduled download time.
       
   499          */
       
   500         IMPORT_C void SetScheduledLastDownloadTime( const TTime& aTime );
       
   501 
       
   502         /**
       
   503          * Get the last succesfull scheduled download time.
       
   504          * @return The last succesfull scheduled download time.
       
   505          */
       
   506         IMPORT_C const TTime& GetScheduledLastDownloadTime() const;
       
   507 
       
   508         /**
       
   509         * Sets service group ID.
       
   510         * @param aId a group id.
       
   511         */
       
   512         IMPORT_C void SetGroupId( TUint32 aGroupId );
       
   513 
       
   514        /**
       
   515         * Gets service group ID.
       
   516         * @return TUint32 service group ID.
       
   517         */
       
   518         IMPORT_C TUint32 GetGroupId();
       
   519        
       
   520         /**
       
   521          * Sets use category flag.
       
   522          * @param aUseCategory use category state.
       
   523          */
       
   524         IMPORT_C void SetUseCategory( const TBool& aUseCategory );
       
   525 
       
   526         /**
       
   527          * Gets use category flag.
       
   528          * @return use category state.
       
   529          */
       
   530         IMPORT_C TBool GetUseCategory();
       
   531 
       
   532         /**
       
   533          * Sets the upload provider. KIptvSmServicesDbNameMaxLength is the maximum length.
       
   534          * @param aProvider The upload provider.
       
   535          * @return          System wide error code.
       
   536          */
       
   537         IMPORT_C TInt SetUploadProvider( const TDesC& aProvider );
       
   538 
       
   539         /**
       
   540          * Gets the upload url.
       
   541          * @return The upload provider.
       
   542          */
       
   543         IMPORT_C const TDesC& GetUploadProvider() const;
       
   544 
       
   545         /**
       
   546         * Sets the icon address, KIptvSmServicesDbAddressMaxLength
       
   547         * (defined in CIptvUtil.h) is the max length in 16-bit words.
       
   548         * @param aAddress The address of the icon
       
   549         * @return         System wide error code.
       
   550         */
       
   551         IMPORT_C TInt SetIconUrl( const TDesC16& aAddress );
       
   552 
       
   553         /**
       
   554         * Gets the icon address url.
       
   555         * @return A Reference to icon address.
       
   556         */
       
   557         IMPORT_C TDes16& GetIconUrl();
       
   558 
       
   559         /**
       
   560          * Sets the service.\n
       
   561          * Sets all service parameters from a single binary descriptor.\n
       
   562          * This format is used when sending service data over IPC.\n
       
   563          * This descriptor can be retrieved with GetL method.\n
       
   564          * SetL uses the same binary format as InternalizeL.\n
       
   565          * \n
       
   566          * @param aService Service data as a binary descriptor.
       
   567          * @return         System wide error code.
       
   568          */
       
   569         IMPORT_C TInt SetL( const TDesC8& aService );
       
   570         
       
   571         /**
       
   572          * Gets the service data as a binary descriptor.\n
       
   573          * This format is used when sending service data over IPC or\n
       
   574          * when handling arrays of services.\n
       
   575          * User is responsible for freeing the HBufC8*.\n
       
   576          * GetL uses the same binary format as ExternalizeL.\n
       
   577          * \n
       
   578          * @return Service data as a binary data descriptor.
       
   579          */
       
   580         IMPORT_C HBufC8* GetL();
       
   581 
       
   582         /**
       
   583          * Calculates binary descriptor size with current member values.
       
   584          * @return size.
       
   585          */
       
   586         IMPORT_C TUint32 CountSize();
       
   587 
       
   588         /**
       
   589          * Read data stream and construct this class from it.
       
   590          * @param aStream Stream to read data from.
       
   591          */
       
   592         IMPORT_C void InternalizeL( RDesReadStream& aStream );
       
   593 
       
   594 
       
   595         /**
       
   596          * Write internal data to binary format which can be sent over IPC.
       
   597          * @param aStream The Stream where data is written.
       
   598          */
       
   599         IMPORT_C void ExternalizeL( RDesWriteStream& aStream ) const;
       
   600 
       
   601         /**
       
   602          * Counts size of the externalize result. User can call this to find out
       
   603          * how much data will be received from ExternalizeL.
       
   604          */
       
   605         IMPORT_C TUint32 CountExternalizeSize();
       
   606 
       
   607         /**
       
   608          * Compares this object to aService object.
       
   609          * @param aService Object to be compared with this object.
       
   610          * @return         ETrue if services are identical, EFalse otherwise.
       
   611          */
       
   612         IMPORT_C TBool CompareL( CIptvService& aService );
       
   613 
       
   614         /**
       
   615         * CIptvService::ESecureProvisioningServer type service needs additional dynamic
       
   616         * parameters after the address url (CIptvService::GetAddress()), this function
       
   617         * generates the dynamic part.
       
   618         *
       
   619         * @return Pointer to dynamic part of the url, caller gets ownership of the pointer.
       
   620         */
       
   621         IMPORT_C static HBufC* SecureProvisioningUrlParametersL();
       
   622 
       
   623     private:
       
   624 
       
   625         /**
       
   626         * By default Symbian 2nd phase constructor is private.
       
   627         */
       
   628         void ConstructL();
       
   629         
       
   630     public:
       
   631     
       
   632         /**
       
   633          * Internet access point list
       
   634          */
       
   635 		CIptvIapList* iIapList;
       
   636     
       
   637     private: // Data
       
   638         
       
   639         /*
       
   640          * Unique Service ID.
       
   641          */ 
       
   642         TUint32 iId;
       
   643         
       
   644         /*
       
   645          * Name of the service.
       
   646          */
       
   647         TBuf16<KIptvSmServicesDbNameMaxLength> iName;
       
   648         
       
   649         /*
       
   650          * Address of the service.
       
   651          */
       
   652         TBuf16<KIptvSmServicesDbAddressMaxLength> iAddress;
       
   653         
       
   654         /*
       
   655          * Path to icon file.
       
   656          */
       
   657         TBuf16<KIptvSmServicesDbIconPathMaxLength> iIconPath;
       
   658         
       
   659         /*
       
   660          * Epg plugin Uid.
       
   661          */
       
   662         TInt32 iEpgPluginUid;
       
   663         
       
   664         /*
       
   665          * Vod plugin Uid.
       
   666          */
       
   667         TInt32 iVodPluginUid;
       
   668 
       
   669         /*
       
   670          * Iptv plugin Uid.
       
   671          */
       
   672         TInt32 iIptvPluginUid;
       
   673         
       
   674         /* 
       
   675          * Service type.
       
   676          */
       
   677         TServiceType iType;
       
   678 		    
       
   679 	    /*
       
   680 	     * User name.
       
   681 	     */
       
   682 	    TBuf16<KIptvSmPasswordsDbUserNameMaxLength> iUserName;
       
   683 	
       
   684 	    /*
       
   685 	     * Password.
       
   686 	     */
       
   687 	    TBuf16<KIptvSmPasswordsDbPasswordMaxLength> iPassword;
       
   688 			
       
   689 	    /*
       
   690 	     * Description of the service.
       
   691 	     */
       
   692 	    TBuf16<KIptvSmServicesDbDescMaxLength> iDesc;
       
   693 
       
   694         /*
       
   695          * See CIptvService::TFlags.
       
   696          */
       
   697         TUint32 iFlags;
       
   698     
       
   699         /*
       
   700          * Used to identify which application is launched for this service.
       
   701          */
       
   702         TInt32  iApplicationUid;
       
   703     
       
   704         /*
       
   705          * Defines the order in which the service is shown on UI.
       
   706          */
       
   707         TUint32 iDisplayOrder;
       
   708                 
       
   709         /*
       
   710          * Provider ID.
       
   711          */
       
   712         TBuf<KIptvSmServicesDbProviderIdMaxLength> iProviderId;
       
   713 
       
   714         /*
       
   715          * Account management URL.
       
   716          */
       
   717         TBuf<KIptvSmServicesDbAccountManagementUrlMaxLength> iAccountManagementUrl;
       
   718         
       
   719         /*
       
   720          * Last time when epg was updated for this service.
       
   721          */
       
   722         TTime iEpgUpdateTime;
       
   723         
       
   724         /*
       
   725          * Iap name, this set by provisioning since it does not have knowledge of iap ids.
       
   726          */
       
   727         TBuf<KIptvSmServicesDbIapNameMaxLength> iIapName;
       
   728     
       
   729         /**
       
   730          * The search url for retrieving search based .rss.
       
   731          */
       
   732         HBufC* iSearchUrl;
       
   733         
       
   734         /**
       
   735          * The record url.  
       
   736          */
       
   737          HBufC* iRecordUrl;
       
   738          
       
   739         /**
       
   740          * The scheduled download network setting.
       
   741          */
       
   742         TUint iScheduleDownloadNetwork;
       
   743 
       
   744         /**
       
   745          * The scheduled download time setting.
       
   746          */
       
   747         TUint iScheduleDownloadTime;
       
   748 
       
   749         /**
       
   750          * The scheduled download type setting.
       
   751          */
       
   752         TUint iScheduleDownloadType;
       
   753 
       
   754         /*
       
   755          * The last successfull scheduled download time.
       
   756          */
       
   757         TTime iLastScheduledDownloadTime;
       
   758 
       
   759         /**
       
   760          * Service group ID.
       
   761          */
       
   762         TUint32 iGroupId;
       
   763 
       
   764         /**
       
   765          * Categories in use flag.
       
   766          */
       
   767         TUint8 iUseCategory;
       
   768 
       
   769         /**
       
   770          * The upload url for retrieving upload based .rss.
       
   771          */
       
   772         TBuf16<KIptvSmServicesDbNameMaxLength> iUploadProvider;
       
   773           
       
   774         /*
       
   775          * Address to icon url.
       
   776          */
       
   777         TBuf16<KIptvSmServicesDbAddressMaxLength> iIconUrl;
       
   778 
       
   779     };
       
   780 
       
   781 #endif      // CIPTVSERVICE_H   
       
   782             
       
   783 // End of File