Author: sayer
Date: 2009-01-27 23:26:43 +0100 (Tue, 27 Jan 2009)
New Revision: 1248
Modified:
trunk/apps/dsm/DSM.cpp
trunk/apps/dsm/DSMDialog.cpp
trunk/apps/dsm/DSMDialog.h
Log:
fixed prompts fallback
Modified: trunk/apps/dsm/DSM.cpp
===================================================================
--- trunk/apps/dsm/DSM.cpp 2009-01-27 18:36:04 UTC (rev 1247)
+++ trunk/apps/dsm/DSM.cpp 2009-01-27 22:26:43 UTC (rev 1248)
@@ -242,8 +242,7 @@
} else {
start_diag = req.cmd;
}
-
- DSMDialog* s = new DSMDialog(prompts, diags, start_diag, NULL);
+ DSMDialog* s = new DSMDialog(&prompts, diags, start_diag, NULL);
prepareSession(s);
return s;
}
@@ -270,7 +269,7 @@
cred = dynamic_cast<UACAuthCred*>(cred_obj);
}
- DSMDialog* s = new DSMDialog(prompts, diags, start_diag, cred);
+ DSMDialog* s = new DSMDialog(&prompts, diags, start_diag, cred);
prepareSession(s);
if (NULL == cred) {
Modified: trunk/apps/dsm/DSMDialog.cpp
===================================================================
--- trunk/apps/dsm/DSMDialog.cpp 2009-01-27 18:36:04 UTC (rev 1247)
+++ trunk/apps/dsm/DSMDialog.cpp 2009-01-27 22:26:43 UTC (rev 1248)
@@ -30,7 +30,7 @@
#include "AmMediaProcessor.h"
#include "DSM.h"
-DSMDialog::DSMDialog(AmPromptCollection& prompts,
+DSMDialog::DSMDialog(AmPromptCollection* prompts,
DSMStateDiagramCollection& diags,
const string& startDiagName,
UACAuthCred* credentials)
@@ -47,7 +47,7 @@
audiofiles.begin();it!=audiofiles.end();it++)
delete *it;
- used_prompt_sets.insert(&prompts);
+ used_prompt_sets.insert(prompts);
for (set<AmPromptCollection*>::iterator it=
used_prompt_sets.begin(); it != used_prompt_sets.end(); it++)
(*it)->cleanup((long)this);
@@ -175,14 +175,15 @@
void DSMDialog::playPrompt(const string& name, bool loop) {
DBG("playing prompt '%s'\n", name.c_str());
- if (prompts.addToPlaylist(name, (long)this, playlist,
+ if (prompts->addToPlaylist(name, (long)this, playlist,
/*front =*/ false, loop)) {
if ((var["prompts.default_fallback"] != "yes") ||
- default_prompts.addToPlaylist(name, (long)this, playlist,
+ default_prompts->addToPlaylist(name, (long)this, playlist,
/*front =*/ false, loop)) {
+ DBG("checked [%p]\n", default_prompts);
SET_ERRNO(DSM_ERRNO_UNKNOWN_ARG);
} else {
- used_prompt_sets.insert(&default_prompts);
+ used_prompt_sets.insert(default_prompts);
SET_ERRNO(DSM_ERRNO_OK);
}
} else {
@@ -270,8 +271,8 @@
}
DBG("setting prompt set '%s'\n", name.c_str());
- used_prompt_sets.insert(&prompts);
- prompts = *it->second;
+ used_prompt_sets.insert(prompts);
+ prompts = it->second;
SET_ERRNO(DSM_ERRNO_OK);
}
Modified: trunk/apps/dsm/DSMDialog.h
===================================================================
--- trunk/apps/dsm/DSMDialog.h 2009-01-27 18:36:04 UTC (rev 1247)
+++ trunk/apps/dsm/DSMDialog.h 2009-01-27 22:26:43 UTC (rev 1248)
@@ -44,8 +44,8 @@
std::auto_ptr<UACAuthCred> cred;
DSMStateEngine engine;
- AmPromptCollection& prompts;
- AmPromptCollection& default_prompts;
+ AmPromptCollection* prompts;
+ AmPromptCollection* default_prompts;
DSMStateDiagramCollection& diags;
string startDiagName;
AmPlaylist playlist;
@@ -57,7 +57,7 @@
bool checkVar(const string& var_name, const string& var_val);
public:
- DSMDialog(AmPromptCollection& prompts,
+ DSMDialog(AmPromptCollection* prompts,
DSMStateDiagramCollection& diags,
const string& startDiagName,
UACAuthCred* credentials = NULL);
_______________________________________________
Semsdev mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/semsdev