Travis Cross d2edcad66e Merge Phil Zimmermann's libzrtp as a FreeSWITCH library
Thanks to Phil Zimmermann for the code and for the license exception
we needed to include it.

There remains some build system integration work to be done before
this code will build properly in the FreeSWITCH tree.
2012-03-31 23:42:27 +00:00

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