videocollection/mpxmyvideoscollection/tsrc/mpxmvcolltest/src/CVcxTestActiveWait.cpp
author hgs
Thu, 24 Jun 2010 09:49:13 +0300
changeset 41 229f037ce963
parent 34 bbb98528c666
permissions -rw-r--r--
201025
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
34
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2008 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 the License "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: 
hgs
parents:
diff changeset
    15
*
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
// INCLUDE FILES
hgs
parents:
diff changeset
    19
#include "CVcxTestActiveWait.h"
hgs
parents:
diff changeset
    20
#include "VCXTestLog.h"
hgs
parents:
diff changeset
    21
hgs
parents:
diff changeset
    22
// EXTERNAL DATA STRUCTURES
hgs
parents:
diff changeset
    23
hgs
parents:
diff changeset
    24
// EXTERNAL FUNCTION PROTOTYPES
hgs
parents:
diff changeset
    25
hgs
parents:
diff changeset
    26
// CONSTANTS
hgs
parents:
diff changeset
    27
hgs
parents:
diff changeset
    28
// MACROS
hgs
parents:
diff changeset
    29
hgs
parents:
diff changeset
    30
// LOCAL CONSTANTS AND MACROS
hgs
parents:
diff changeset
    31
hgs
parents:
diff changeset
    32
// MODULE DATA STRUCTURES
hgs
parents:
diff changeset
    33
hgs
parents:
diff changeset
    34
// LOCAL FUNCTION PROTOTYPES
hgs
parents:
diff changeset
    35
hgs
parents:
diff changeset
    36
// FORWARD DECLARATIONS
hgs
parents:
diff changeset
    37
hgs
parents:
diff changeset
    38
// ============================= LOCAL FUNCTIONS ===============================
hgs
parents:
diff changeset
    39
hgs
parents:
diff changeset
    40
// ============================ MEMBER FUNCTIONS ===============================
hgs
parents:
diff changeset
    41
hgs
parents:
diff changeset
    42
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    43
// CVcxTestActiveWait::
hgs
parents:
diff changeset
    44
// C++ default constructor can NOT contain any code, that
hgs
parents:
diff changeset
    45
// might leave.
hgs
parents:
diff changeset
    46
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    47
//
hgs
parents:
diff changeset
    48
CVcxTestActiveWait* CVcxTestActiveWait::NewL()
hgs
parents:
diff changeset
    49
    {
hgs
parents:
diff changeset
    50
    VCXLOGLO1(">>>CVcxTestActiveWait::NewL");
hgs
parents:
diff changeset
    51
    CVcxTestActiveWait* self = new (ELeave) CVcxTestActiveWait();
hgs
parents:
diff changeset
    52
    CleanupStack::PushL(self);
hgs
parents:
diff changeset
    53
    self->ConstructL();
hgs
parents:
diff changeset
    54
    CleanupStack::Pop();
hgs
parents:
diff changeset
    55
    VCXLOGLO1("<<<CVcxTestActiveWait::NewL");
hgs
parents:
diff changeset
    56
    return self;
hgs
parents:
diff changeset
    57
    }
hgs
parents:
diff changeset
    58
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    59
// CVcxTestActiveWait::~CVcxTestActiveWait
hgs
parents:
diff changeset
    60
// destructor
hgs
parents:
diff changeset
    61
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    62
//
hgs
parents:
diff changeset
    63
CVcxTestActiveWait::~CVcxTestActiveWait()
hgs
parents:
diff changeset
    64
    {
hgs
parents:
diff changeset
    65
    VCXLOGLO1(">>>CVcxTestActiveWait::~CVcxTestActiveWait");
hgs
parents:
diff changeset
    66
hgs
parents:
diff changeset
    67
    ActiveWait(EActiveWaitStop);
hgs
parents:
diff changeset
    68
    delete iActiveSchedulerWait;
hgs
parents:
diff changeset
    69
    iActiveSchedulerWait = NULL;
hgs
parents:
diff changeset
    70
hgs
parents:
diff changeset
    71
    VCXLOGLO1("<<<CVcxTestActiveWait::~CVcxTestActiveWait");
hgs
parents:
diff changeset
    72
    }
hgs
parents:
diff changeset
    73
hgs
parents:
diff changeset
    74
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    75
// CVcxTestActiveWait::~CVcxTestActiveWait
hgs
parents:
diff changeset
    76
// destructor
hgs
parents:
diff changeset
    77
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    78
//
hgs
parents:
diff changeset
    79
CVcxTestActiveWait::CVcxTestActiveWait()
hgs
parents:
diff changeset
    80
    {
hgs
parents:
diff changeset
    81
    VCXLOGLO1(">>>CVcxTestActiveWait::CVcxTestActiveWait");
hgs
parents:
diff changeset
    82
hgs
parents:
diff changeset
    83
hgs
parents:
diff changeset
    84
    VCXLOGLO1("<<<CVcxTestActiveWait::CVcxTestActiveWait");
hgs
parents:
diff changeset
    85
    }
hgs
parents:
diff changeset
    86
hgs
parents:
diff changeset
    87
hgs
parents:
diff changeset
    88
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    89
// CVcxTestActiveWait::ConstructL
hgs
parents:
diff changeset
    90
//
hgs
parents:
diff changeset
    91
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    92
//
hgs
parents:
diff changeset
    93
void CVcxTestActiveWait::ConstructL()
hgs
parents:
diff changeset
    94
    {
hgs
parents:
diff changeset
    95
    VCXLOGLO1(">>>CVcxTestActiveWait::ConstructL");
hgs
parents:
diff changeset
    96
hgs
parents:
diff changeset
    97
    iActiveSchedulerWait = new (ELeave) CActiveSchedulerWait;
hgs
parents:
diff changeset
    98
hgs
parents:
diff changeset
    99
    VCXLOGLO1("<<<CVcxTestActiveWait::ConstructL");
hgs
parents:
diff changeset
   100
    }
hgs
parents:
diff changeset
   101
hgs
parents:
diff changeset
   102
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   103
// CVcxTestActiveWait::ActiveWait
hgs
parents:
diff changeset
   104
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   105
//
hgs
parents:
diff changeset
   106
void CVcxTestActiveWait::ActiveWait( TVcxTestActiveWaitCmd aActiveWaitCmd )
hgs
parents:
diff changeset
   107
    {
hgs
parents:
diff changeset
   108
    VCXLOGLO1(">>>CVcxTestActiveWait::ActiveWait");
hgs
parents:
diff changeset
   109
hgs
parents:
diff changeset
   110
  	VCXLOGLO2("aActiveWaitCmd=%d", aActiveWaitCmd );
hgs
parents:
diff changeset
   111
hgs
parents:
diff changeset
   112
	switch( aActiveWaitCmd )
hgs
parents:
diff changeset
   113
		{
hgs
parents:
diff changeset
   114
		case EActiveWaitStart:
hgs
parents:
diff changeset
   115
		    {
hgs
parents:
diff changeset
   116
		    if( !iActiveSchedulerWait->IsStarted() )
hgs
parents:
diff changeset
   117
		        {
hgs
parents:
diff changeset
   118
		        iActiveSchedulerWait->Start();
hgs
parents:
diff changeset
   119
		        }
hgs
parents:
diff changeset
   120
		    else
hgs
parents:
diff changeset
   121
		        {
hgs
parents:
diff changeset
   122
		        VCXLOGLO1("ActiveSchedulerWait already started");
hgs
parents:
diff changeset
   123
		        }
hgs
parents:
diff changeset
   124
		    }
hgs
parents:
diff changeset
   125
			break;
hgs
parents:
diff changeset
   126
		case EActiveWaitStop:
hgs
parents:
diff changeset
   127
		    {
hgs
parents:
diff changeset
   128
			if( iActiveSchedulerWait->IsStarted() )
hgs
parents:
diff changeset
   129
				{
hgs
parents:
diff changeset
   130
				iActiveSchedulerWait->AsyncStop();
hgs
parents:
diff changeset
   131
				}
hgs
parents:
diff changeset
   132
			else
hgs
parents:
diff changeset
   133
		        {
hgs
parents:
diff changeset
   134
		        VCXLOGLO1("ActiveSchedulerWait already stopped");
hgs
parents:
diff changeset
   135
		        }
hgs
parents:
diff changeset
   136
			}
hgs
parents:
diff changeset
   137
			break;
hgs
parents:
diff changeset
   138
		default:
hgs
parents:
diff changeset
   139
			break;
hgs
parents:
diff changeset
   140
		}
hgs
parents:
diff changeset
   141
hgs
parents:
diff changeset
   142
    VCXLOGLO1("<<<CVcxTestActiveWait::ActiveWait");
hgs
parents:
diff changeset
   143
    }
hgs
parents:
diff changeset
   144
hgs
parents:
diff changeset
   145
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   146
// CVcxTestActiveWait::IsWaiting
hgs
parents:
diff changeset
   147
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   148
//
hgs
parents:
diff changeset
   149
TBool CVcxTestActiveWait::IsWaiting()
hgs
parents:
diff changeset
   150
    {
hgs
parents:
diff changeset
   151
    return iActiveSchedulerWait->IsStarted();
hgs
parents:
diff changeset
   152
    }
hgs
parents:
diff changeset
   153
hgs
parents:
diff changeset
   154
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   155
// CVcxTestActiveWait::Start
hgs
parents:
diff changeset
   156
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   157
//
hgs
parents:
diff changeset
   158
TInt CVcxTestActiveWait::Start( )
hgs
parents:
diff changeset
   159
    {
hgs
parents:
diff changeset
   160
    TInt err = KErrNotReady;
hgs
parents:
diff changeset
   161
    if( !iActiveSchedulerWait->IsStarted() )
hgs
parents:
diff changeset
   162
        {
hgs
parents:
diff changeset
   163
        iActiveSchedulerWait->Start();
hgs
parents:
diff changeset
   164
        err = KErrNone;
hgs
parents:
diff changeset
   165
        }
hgs
parents:
diff changeset
   166
    else
hgs
parents:
diff changeset
   167
        {
hgs
parents:
diff changeset
   168
        VCXLOGLO1("ActiveSchedulerWait already started");
hgs
parents:
diff changeset
   169
        }
hgs
parents:
diff changeset
   170
    return err;
hgs
parents:
diff changeset
   171
    }
hgs
parents:
diff changeset
   172
hgs
parents:
diff changeset
   173
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   174
// CVcxTestActiveWait::Stop
hgs
parents:
diff changeset
   175
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   176
//
hgs
parents:
diff changeset
   177
TInt CVcxTestActiveWait::Stop( )
hgs
parents:
diff changeset
   178
    {
hgs
parents:
diff changeset
   179
    TInt err = KErrNotReady;
hgs
parents:
diff changeset
   180
    if( iActiveSchedulerWait->IsStarted() )
hgs
parents:
diff changeset
   181
        {
hgs
parents:
diff changeset
   182
        iActiveSchedulerWait->AsyncStop();
hgs
parents:
diff changeset
   183
        err = KErrNone;
hgs
parents:
diff changeset
   184
        }
hgs
parents:
diff changeset
   185
    else
hgs
parents:
diff changeset
   186
        {
hgs
parents:
diff changeset
   187
        VCXLOGLO1("ActiveSchedulerWait already stopped");
hgs
parents:
diff changeset
   188
        }
hgs
parents:
diff changeset
   189
    return err;
hgs
parents:
diff changeset
   190
    }
hgs
parents:
diff changeset
   191
hgs
parents:
diff changeset
   192
//  End of File