mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-02-05 10:34:54 +00:00
d2edcad66e
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.
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
|