73 lines
1.5 KiB
C
73 lines
1.5 KiB
C
|
/*
|
||
|
============================================================================
|
||
|
Name : CDelayRuner.h
|
||
|
Author : R. Drutsky
|
||
|
Version : 1.0
|
||
|
Copyright : Copyright (c) 2010 Soft Industry
|
||
|
Description : CDelayRuner declaration
|
||
|
============================================================================
|
||
|
*/
|
||
|
|
||
|
#ifndef DELAYRUNER_H
|
||
|
#define DELAYRUNER_H
|
||
|
|
||
|
#include <e32base.h> // For CActive, link against: euser.lib
|
||
|
#include <e32std.h> // For RTimer, link against: euser.lib
|
||
|
|
||
|
#include <zrtp.h>
|
||
|
class CDelayRuner : public CActive
|
||
|
{
|
||
|
public:
|
||
|
// Cancel and destroy
|
||
|
~CDelayRuner();
|
||
|
|
||
|
// Two-phased constructor.
|
||
|
static CDelayRuner* NewL();
|
||
|
|
||
|
// Two-phased constructor.
|
||
|
static CDelayRuner* NewLC();
|
||
|
|
||
|
public:
|
||
|
// New functions
|
||
|
// Function for making the initial request
|
||
|
void StartL(zrtp_stream_t *ctx, zrtp_retry_task_t* ztask);
|
||
|
|
||
|
private:
|
||
|
// C++ constructor
|
||
|
CDelayRuner();
|
||
|
|
||
|
// Second-phase constructor
|
||
|
void ConstructL();
|
||
|
|
||
|
private:
|
||
|
// From CActive
|
||
|
// Handle completion
|
||
|
void RunL();
|
||
|
|
||
|
// How to cancel me
|
||
|
void DoCancel();
|
||
|
|
||
|
// Override to handle leaves from RunL(). Default implementation causes
|
||
|
// the active scheduler to panic.
|
||
|
TInt RunError(TInt aError);
|
||
|
|
||
|
private:
|
||
|
enum TCDelayRunerState
|
||
|
{
|
||
|
EUninitialized, // Uninitialized
|
||
|
EInitialized, // Initalized
|
||
|
EError
|
||
|
// Error condition
|
||
|
};
|
||
|
|
||
|
private:
|
||
|
TInt iState; // State of the active object
|
||
|
RTimer iTimer; // Provides async timing service
|
||
|
|
||
|
zrtp_stream_t *iCtx;
|
||
|
zrtp_retry_task_t * iZTask;
|
||
|
|
||
|
};
|
||
|
|
||
|
#endif // CDELAYRUNER_H
|