videoplayback/hbvideoplaybackview/tsrc/testmpxvideoviewwrapper/stub/src/mpxplaybackutility.cpp
author hgs
Fri, 28 May 2010 09:45:19 +0300
changeset 39 f6d44a0cd476
permissions -rw-r--r--
201021
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
39
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:  Factory method to create playback utility object
hgs
parents:
diff changeset
    15
*
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
#include <bamdesca.h>
hgs
parents:
diff changeset
    19
#include <s32mem.h>
hgs
parents:
diff changeset
    20
#include <e32math.h>
hgs
parents:
diff changeset
    21
#include <mpxcmn.h>
hgs
parents:
diff changeset
    22
#include <mpxplaybackobserver.h>
hgs
parents:
diff changeset
    23
#include <mpxcollectionplaylist.h>
hgs
parents:
diff changeset
    24
#include <mpxmedia.h>
hgs
parents:
diff changeset
    25
#include <mpxmessagemonitor.h>
hgs
parents:
diff changeset
    26
#include <mpxtaskqueue.h>
hgs
parents:
diff changeset
    27
#include <mpxuser.h>
hgs
parents:
diff changeset
    28
#include <mpxmessagegeneraldefs.h>
hgs
parents:
diff changeset
    29
#include <mpxcommandgeneraldefs.h>
hgs
parents:
diff changeset
    30
#include <mpxcollectionpath.h>
hgs
parents:
diff changeset
    31
#include <mpxvideoplaybackdefs.h>
hgs
parents:
diff changeset
    32
hgs
parents:
diff changeset
    33
#include"mpxplaybackutility.h"
hgs
parents:
diff changeset
    34
hgs
parents:
diff changeset
    35
hgs
parents:
diff changeset
    36
// ============================== MEMBER FUNCTIONS =================================================
hgs
parents:
diff changeset
    37
	
hgs
parents:
diff changeset
    38
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
    39
// Creates the playback utility object if not already created
hgs
parents:
diff changeset
    40
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
    41
//
hgs
parents:
diff changeset
    42
MMPXPlaybackUtility* MMPXPlaybackUtility::UtilityL( const TMPXCategory /*aCategory*/,
hgs
parents:
diff changeset
    43
                                                    const TUid& /*aModeId*/ )
hgs
parents:
diff changeset
    44
{
hgs
parents:
diff changeset
    45
    return CMPXPlaybackUtility::NewL();
hgs
parents:
diff changeset
    46
}
hgs
parents:
diff changeset
    47
hgs
parents:
diff changeset
    48
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
    49
// Two phases constructor
hgs
parents:
diff changeset
    50
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
    51
//
hgs
parents:
diff changeset
    52
CMPXPlaybackUtility* CMPXPlaybackUtility::NewL()
hgs
parents:
diff changeset
    53
{
hgs
parents:
diff changeset
    54
    CMPXPlaybackUtility* p = new(ELeave)CMPXPlaybackUtility();
hgs
parents:
diff changeset
    55
    CleanupStack::PushL(p);
hgs
parents:
diff changeset
    56
    p->ConstructL();
hgs
parents:
diff changeset
    57
    CleanupStack::Pop(p);
hgs
parents:
diff changeset
    58
    return p;
hgs
parents:
diff changeset
    59
}
hgs
parents:
diff changeset
    60
hgs
parents:
diff changeset
    61
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
    62
// Destructor
hgs
parents:
diff changeset
    63
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
    64
//
hgs
parents:
diff changeset
    65
CMPXPlaybackUtility::~CMPXPlaybackUtility()
hgs
parents:
diff changeset
    66
{
hgs
parents:
diff changeset
    67
}
hgs
parents:
diff changeset
    68
hgs
parents:
diff changeset
    69
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
    70
// C++ constructor
hgs
parents:
diff changeset
    71
// Create a unique name out of thread ID and this pointer: no other instance of
hgs
parents:
diff changeset
    72
// this object will have the same name; used to identify this object for
hgs
parents:
diff changeset
    73
// recieving messages
hgs
parents:
diff changeset
    74
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
    75
//
hgs
parents:
diff changeset
    76
CMPXPlaybackUtility::CMPXPlaybackUtility()
hgs
parents:
diff changeset
    77
{
hgs
parents:
diff changeset
    78
}
hgs
parents:
diff changeset
    79
hgs
parents:
diff changeset
    80
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
    81
// 2nd construtor
hgs
parents:
diff changeset
    82
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
    83
//
hgs
parents:
diff changeset
    84
void CMPXPlaybackUtility::ConstructL()
hgs
parents:
diff changeset
    85
{
hgs
parents:
diff changeset
    86
    iState = EPbStateInitialised;
hgs
parents:
diff changeset
    87
}
hgs
parents:
diff changeset
    88
hgs
parents:
diff changeset
    89
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
    90
// Add a observer
hgs
parents:
diff changeset
    91
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
    92
//
hgs
parents:
diff changeset
    93
void CMPXPlaybackUtility::AddObserverL( MMPXPlaybackObserver& /*aObs*/ )
hgs
parents:
diff changeset
    94
{
hgs
parents:
diff changeset
    95
}
hgs
parents:
diff changeset
    96
hgs
parents:
diff changeset
    97
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
    98
// Remove a observer
hgs
parents:
diff changeset
    99
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   100
//
hgs
parents:
diff changeset
   101
void CMPXPlaybackUtility::RemoveObserverL( MMPXPlaybackObserver& /* aObs */ )
hgs
parents:
diff changeset
   102
{
hgs
parents:
diff changeset
   103
}
hgs
parents:
diff changeset
   104
hgs
parents:
diff changeset
   105
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   106
// Delete this
hgs
parents:
diff changeset
   107
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   108
//
hgs
parents:
diff changeset
   109
void CMPXPlaybackUtility::Close()
hgs
parents:
diff changeset
   110
{
hgs
parents:
diff changeset
   111
    delete this;
hgs
parents:
diff changeset
   112
}
hgs
parents:
diff changeset
   113
hgs
parents:
diff changeset
   114
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   115
// Issue player commands
hgs
parents:
diff changeset
   116
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   117
//
hgs
parents:
diff changeset
   118
void CMPXPlaybackUtility::CommandL( TMPXPlaybackCommand aCmd )
hgs
parents:
diff changeset
   119
{
hgs
parents:
diff changeset
   120
    iCommand = aCmd;
hgs
parents:
diff changeset
   121
}
hgs
parents:
diff changeset
   122
hgs
parents:
diff changeset
   123
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   124
// Issue player commands
hgs
parents:
diff changeset
   125
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   126
//
hgs
parents:
diff changeset
   127
void CMPXPlaybackUtility::CommandL( CMPXCommand& aCmd, MMPXPlaybackCallback* /* aCallback */ )
hgs
parents:
diff changeset
   128
{
hgs
parents:
diff changeset
   129
    TInt cmdType = aCmd.ValueTObjectL<TInt>( KMPXCommandGeneralId );
hgs
parents:
diff changeset
   130
hgs
parents:
diff changeset
   131
    if ( cmdType == KMPXCommandIdPlaybackGeneral )
hgs
parents:
diff changeset
   132
    {
hgs
parents:
diff changeset
   133
        iCommand = aCmd.ValueTObjectL<TInt>( KMPXCommandPlaybackGeneralType );
hgs
parents:
diff changeset
   134
    }
hgs
parents:
diff changeset
   135
    else
hgs
parents:
diff changeset
   136
    {
hgs
parents:
diff changeset
   137
        iCommand = aCmd.ValueTObjectL<TInt>( KMPXMediaVideoPlaybackCommand );
hgs
parents:
diff changeset
   138
    }
hgs
parents:
diff changeset
   139
}
hgs
parents:
diff changeset
   140
hgs
parents:
diff changeset
   141
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   142
// Current state of player
hgs
parents:
diff changeset
   143
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   144
//
hgs
parents:
diff changeset
   145
TMPXPlaybackState CMPXPlaybackUtility::StateL() const
hgs
parents:
diff changeset
   146
{
hgs
parents:
diff changeset
   147
    return iState;
hgs
parents:
diff changeset
   148
}
hgs
parents:
diff changeset
   149
hgs
parents:
diff changeset
   150
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   151
// Determine whether there is a song by the state of the engine: if there is,
hgs
parents:
diff changeset
   152
// its OK to return MMPXMedia, else NULL is returned
hgs
parents:
diff changeset
   153
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   154
//
hgs
parents:
diff changeset
   155
MMPXSource* CMPXPlaybackUtility::Source()
hgs
parents:
diff changeset
   156
{
hgs
parents:
diff changeset
   157
    return NULL;
hgs
parents:
diff changeset
   158
}
hgs
parents:
diff changeset
   159
hgs
parents:
diff changeset
   160
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   161
// Set playback property, EPropertyChanged event when complete
hgs
parents:
diff changeset
   162
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   163
//
hgs
parents:
diff changeset
   164
void CMPXPlaybackUtility::SetL( TMPXPlaybackProperty aProperty, TInt aValue )
hgs
parents:
diff changeset
   165
{
hgs
parents:
diff changeset
   166
    iProperty = aProperty;
hgs
parents:
diff changeset
   167
    iPropertyValue = aValue;
hgs
parents:
diff changeset
   168
}
hgs
parents:
diff changeset
   169
hgs
parents:
diff changeset
   170
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   171
// Send property request
hgs
parents:
diff changeset
   172
// Result will be called back in HandleProperty
hgs
parents:
diff changeset
   173
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   174
//
hgs
parents:
diff changeset
   175
void CMPXPlaybackUtility::PropertyL(
hgs
parents:
diff changeset
   176
    MMPXPlaybackCallback& /* aCallback */,
hgs
parents:
diff changeset
   177
    TMPXPlaybackProperty /* aProperty */)
hgs
parents:
diff changeset
   178
{
hgs
parents:
diff changeset
   179
}
hgs
parents:
diff changeset
   180
hgs
parents:
diff changeset
   181
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   182
// Path to the collection
hgs
parents:
diff changeset
   183
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   184
//
hgs
parents:
diff changeset
   185
CMPXCollectionPlaylist* CMPXPlaybackUtility::PlaylistL()
hgs
parents:
diff changeset
   186
{
hgs
parents:
diff changeset
   187
    CMPXCollectionPlaylist *p = NULL;
hgs
parents:
diff changeset
   188
hgs
parents:
diff changeset
   189
    return p;
hgs
parents:
diff changeset
   190
}
hgs
parents:
diff changeset
   191
hgs
parents:
diff changeset
   192
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   193
// Request for media properties.
hgs
parents:
diff changeset
   194
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   195
//
hgs
parents:
diff changeset
   196
void CMPXPlaybackUtility::MediaL(
hgs
parents:
diff changeset
   197
    const TArray<TMPXAttribute>& /* aAttrs */,
hgs
parents:
diff changeset
   198
    MMPXPlaybackCallback& /* aCallback */,
hgs
parents:
diff changeset
   199
    CMPXAttributeSpecs* /* aSpecs */)
hgs
parents:
diff changeset
   200
{
hgs
parents:
diff changeset
   201
}
hgs
parents:
diff changeset
   202
hgs
parents:
diff changeset
   203
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   204
// set primary client
hgs
parents:
diff changeset
   205
// -------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
   206
//
hgs
parents:
diff changeset
   207
void CMPXPlaybackUtility::SetPrimaryClientL()
hgs
parents:
diff changeset
   208
{
hgs
parents:
diff changeset
   209
}
hgs
parents:
diff changeset
   210
hgs
parents:
diff changeset
   211
// End of file
hgs
parents:
diff changeset
   212