corrected compilation errors introduced in the last version.

git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@61 8eb893ce-cfd4-0310-b710-fb5ebe64c474
sayer/1.4-spce2.6
Raphael Coeffic 20 years ago
parent 759b24189f
commit 6434bc25da

@ -34,7 +34,6 @@
#include "AmPlugIn.h"
#include "AmPlaylist.h"
#include "AmSessionScheduler.h"
#include "AmSessionTimer.h"
#include "sems.h"
#include "log.h"
@ -62,6 +61,7 @@ string AnswerMachineFactory::AnnouncePath;
string AnswerMachineFactory::DefaultAnnounce;
int AnswerMachineFactory::MaxRecordTime;
int AnswerMachineFactory::AcceptDelay;
AmDynInvokeFactory* AnswerMachineFactory::UserTimer=0;
int AnswerMachineFactory::loadEmailTemplates(const string& path)
{
@ -136,6 +136,13 @@ int AnswerMachineFactory::onLoad()
AcceptDelay = DEFAULT_ACCEPT_DELAY;
UserTimer = AmPlugIn::instance()->getFactory4Di("user_timer");
if(!UserTimer){
ERROR("could not load user_timer from session_timer plug-in\n");
return -1;
}
return 0;
}
@ -210,6 +217,11 @@ AnswerMachineDialog::AnswerMachineDialog(const string& email,
status(0)
{
email_dict["email"] = email;
user_timer = AnswerMachineFactory::UserTimer->getInstance();
if(!user_timer){
ERROR("could not get a user timer reference\n");
throw AmSession::Exception(500,"could not get a user timer reference");
}
}
AnswerMachineDialog::~AnswerMachineDialog()
@ -229,9 +241,13 @@ void AnswerMachineDialog::process(AmEvent* event)
case 0:
playlist.addToPlaylist(new AmPlaylistItem(NULL,&a_msg));
AmSessionTimer::instance()->
setTimer(RECORD_TIMER,AnswerMachineFactory::MaxRecordTime,
getLocalTag());
{AmArgArray di_args,ret;
di_args.push(RECORD_TIMER);
di_args.push(AnswerMachineFactory::MaxRecordTime);
di_args.push(getLocalTag().c_str());
user_timer->invoke("setTimer",di_args,ret);}
status = 1;
break;
@ -262,11 +278,12 @@ void AnswerMachineDialog::process(AmEvent* event)
return;
}
AmTimeoutEvent* to = dynamic_cast<AmTimeoutEvent*>(event);
if(to && to->event_id == RECORD_TIMER){
// clear list
playlist.close();
AmPluginEvent* plugin_event = dynamic_cast<AmPluginEvent*>(event);
if(plugin_event && plugin_event->name == "timer_timeout" &&
plugin_event->data.get(0).asInt() == RECORD_TIMER) {
// clear list
playlist.close();
}
else
AmSession::process(event);

@ -55,6 +55,8 @@ public:
static string DefaultAnnounce;
static int MaxRecordTime;
static int AcceptDelay;
static AmDynInvokeFactory* UserTimer;
AnswerMachineFactory(const string& _app_name);
@ -74,6 +76,8 @@ class AnswerMachineDialog : public AmSession
const EmailTemplate* tmpl;
EmailTmplDict email_dict;
AmDynInvoke* user_timer;
int status;
void request2dict(const AmSipRequest& req);

Loading…
Cancel
Save