gstreamer_test_apps/gstplayer/src/GlibEventHandler.cpp
author hgs
Tue, 21 Sep 2010 11:28:48 -0500
changeset 34 1b8125c02661
parent 18 5824eee55f42
permissions -rw-r--r--
201037
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
18
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
hgs
parents:
diff changeset
     3
*
hgs
parents:
diff changeset
     4
* This library is free software; you can redistribute it and/or
hgs
parents:
diff changeset
     5
* modify it under the terms of the GNU Lesser General Public
hgs
parents:
diff changeset
     6
* License as published by the Free Software Foundation; either
hgs
parents:
diff changeset
     7
* version 2 of the License, or (at your option) any later version.
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* This library is distributed in the hope that it will be useful,
hgs
parents:
diff changeset
    10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
hgs
parents:
diff changeset
    11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
hgs
parents:
diff changeset
    12
* Lesser General Public License for more details.
hgs
parents:
diff changeset
    13
*
hgs
parents:
diff changeset
    14
* You should have received a copy of the GNU Lesser General Public
hgs
parents:
diff changeset
    15
* License along with this library; if not, write to the
hgs
parents:
diff changeset
    16
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
hgs
parents:
diff changeset
    17
* Boston, MA 02111-1307, USA.
hgs
parents:
diff changeset
    18
*
hgs
parents:
diff changeset
    19
* Description:
hgs
parents:
diff changeset
    20
*
hgs
parents:
diff changeset
    21
*/
hgs
parents:
diff changeset
    22
#include "GlibEventHandler.h"
hgs
parents:
diff changeset
    23
#include <glib.h>
hgs
parents:
diff changeset
    24
hgs
parents:
diff changeset
    25
CGlibEventHandler* iCGlibEventHandler;
hgs
parents:
diff changeset
    26
hgs
parents:
diff changeset
    27
CGlibEventHandler* CGlibEventHandler::NewL()
hgs
parents:
diff changeset
    28
{
hgs
parents:
diff changeset
    29
	CGlibEventHandler* self = new(ELeave) CGlibEventHandler();
hgs
parents:
diff changeset
    30
	CleanupStack::PushL(self);
hgs
parents:
diff changeset
    31
	self->ConstructL();
hgs
parents:
diff changeset
    32
	CleanupStack::Pop();
hgs
parents:
diff changeset
    33
	return self;
hgs
parents:
diff changeset
    34
}
hgs
parents:
diff changeset
    35
hgs
parents:
diff changeset
    36
hgs
parents:
diff changeset
    37
CGlibEventHandler::~CGlibEventHandler()
hgs
parents:
diff changeset
    38
{
hgs
parents:
diff changeset
    39
	
hgs
parents:
diff changeset
    40
}
hgs
parents:
diff changeset
    41
	
hgs
parents:
diff changeset
    42
hgs
parents:
diff changeset
    43
void CGlibEventHandler::Start()
hgs
parents:
diff changeset
    44
{
hgs
parents:
diff changeset
    45
	iTimer.After(iStatus, TTimeIntervalMicroSeconds32(1000));
hgs
parents:
diff changeset
    46
	SetActive();	
hgs
parents:
diff changeset
    47
}
hgs
parents:
diff changeset
    48
	
hgs
parents:
diff changeset
    49
	
hgs
parents:
diff changeset
    50
void CGlibEventHandler::Stop()
hgs
parents:
diff changeset
    51
{
hgs
parents:
diff changeset
    52
	Cancel();
hgs
parents:
diff changeset
    53
}
hgs
parents:
diff changeset
    54
	
hgs
parents:
diff changeset
    55
	
hgs
parents:
diff changeset
    56
void CGlibEventHandler::RunL()
hgs
parents:
diff changeset
    57
{
hgs
parents:
diff changeset
    58
	g_main_context_iteration(NULL, FALSE);
hgs
parents:
diff changeset
    59
	iTimer.After(iStatus, TTimeIntervalMicroSeconds32(1000));
hgs
parents:
diff changeset
    60
	SetActive();	
hgs
parents:
diff changeset
    61
}
hgs
parents:
diff changeset
    62
	
hgs
parents:
diff changeset
    63
	
hgs
parents:
diff changeset
    64
void CGlibEventHandler::DoCancel()
hgs
parents:
diff changeset
    65
{
hgs
parents:
diff changeset
    66
	iTimer.Cancel();	
hgs
parents:
diff changeset
    67
}
hgs
parents:
diff changeset
    68
hgs
parents:
diff changeset
    69
hgs
parents:
diff changeset
    70
CGlibEventHandler::CGlibEventHandler():CActive(EPriorityStandard)
hgs
parents:
diff changeset
    71
{
hgs
parents:
diff changeset
    72
	iTimer.CreateLocal();
hgs
parents:
diff changeset
    73
	CActiveScheduler::Add(this);
hgs
parents:
diff changeset
    74
}
hgs
parents:
diff changeset
    75
	
hgs
parents:
diff changeset
    76
void CGlibEventHandler::ConstructL()
hgs
parents:
diff changeset
    77
{
hgs
parents:
diff changeset
    78
	
hgs
parents:
diff changeset
    79
}
hgs
parents:
diff changeset
    80