Revision
14924
Author
anthm
Date
2009-09-19 10:26:19 -0500 (Sat, 19 Sep 2009)

Log Message

add session.getState()

Modified Paths

Diff

Modified: freeswitch/trunk/src/include/switch_cpp.h (14923 => 14924)


--- freeswitch/trunk/src/include/switch_cpp.h	2009-09-19 00:37:58 UTC (rev 14923)
+++ freeswitch/trunk/src/include/switch_cpp.h	2009-09-19 15:26:19 UTC (rev 14924)
@@ -236,6 +236,7 @@
 		 SWITCH_DECLARE(void) say(const char *tosay, const char *module_name, const char *say_type, const char *say_method);
 		 SWITCH_DECLARE(void) sayPhrase(const char *phrase_name, const char *phrase_data = "", const char *phrase_lang = NULL);
 		 SWITCH_DECLARE(const char *) hangupCause();
+		 SWITCH_DECLARE(const char *) getState();
 
 	/** \brief Record to a file
 	 * \param file_name 

Modified: freeswitch/trunk/src/mod/languages/mod_managed/freeswitch_wrap.cxx (14923 => 14924)


--- freeswitch/trunk/src/mod/languages/mod_managed/freeswitch_wrap.cxx	2009-09-19 00:37:58 UTC (rev 14923)
+++ freeswitch/trunk/src/mod/languages/mod_managed/freeswitch_wrap.cxx	2009-09-19 15:26:19 UTC (rev 14924)
@@ -28788,6 +28788,18 @@
 }
 
 
+SWIGEXPORT char * SWIGSTDCALL CSharp_CoreSession_getState(void * jarg1) {
+  char * jresult ;
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (CoreSession *)jarg1; 
+  result = (char *)(arg1)->getState();
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
 SWIGEXPORT int SWIGSTDCALL CSharp_CoreSession_RecordFile(void * jarg1, char * jarg2, int jarg3, int jarg4, int jarg5) {
   int jresult ;
   CoreSession *arg1 = (CoreSession *) 0 ;

Modified: freeswitch/trunk/src/mod/languages/mod_managed/managed/swig.cs (14923 => 14924)


--- freeswitch/trunk/src/mod/languages/mod_managed/managed/swig.cs	2009-09-19 00:37:58 UTC (rev 14923)
+++ freeswitch/trunk/src/mod/languages/mod_managed/managed/swig.cs	2009-09-19 15:26:19 UTC (rev 14924)
@@ -250,6 +250,11 @@
     return ret;
   }
 
+  public string getState() {
+    string ret = freeswitchPINVOKE.CoreSession_getState(swigCPtr);
+    return ret;
+  }
+
   public int RecordFile(string file_name, int time_limit, int silence_threshold, int silence_hits) {
     int ret = freeswitchPINVOKE.CoreSession_RecordFile(swigCPtr, file_name, time_limit, silence_threshold, silence_hits);
     return ret;
@@ -11388,6 +11393,9 @@
   [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_hangupCause")]
   public static extern string CoreSession_hangupCause(HandleRef jarg1);
 
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_getState")]
+  public static extern string CoreSession_getState(HandleRef jarg1);
+
   [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_RecordFile")]
   public static extern int CoreSession_RecordFile(HandleRef jarg1, string jarg2, int jarg3, int jarg4, int jarg5);
 
@@ -19235,11 +19243,10 @@
   SCF_USE_SQL = (1 << 0),
   SCF_NO_NEW_SESSIONS = (1 << 1),
   SCF_SHUTTING_DOWN = (1 << 2),
-  SCF_CRASH_PROT = (1 << 3),
-  SCF_VG = (1 << 4),
-  SCF_RESTART = (1 << 5),
-  SCF_SHUTDOWN_REQUESTED = (1 << 6),
-  SCF_USE_AUTO_NAT = (1 << 7)
+  SCF_VG = (1 << 3),
+  SCF_RESTART = (1 << 4),
+  SCF_SHUTDOWN_REQUESTED = (1 << 5),
+  SCF_USE_AUTO_NAT = (1 << 6)
 }
 
 }

Modified: freeswitch/trunk/src/switch_cpp.cpp (14923 => 14924)


--- freeswitch/trunk/src/switch_cpp.cpp	2009-09-19 00:37:58 UTC (rev 14923)
+++ freeswitch/trunk/src/switch_cpp.cpp	2009-09-19 15:26:19 UTC (rev 14924)
@@ -938,6 +938,18 @@
 	return switch_channel_cause2str(cause);
 }
 
+SWITCH_DECLARE(const char *) CoreSession::getState()
+{
+	this_check(NULL);
+
+	if (channel) {
+		return switch_channel_state_name(switch_channel_get_state(channel));
+	}
+
+	return "ERROR";
+
+}
+
 SWITCH_DECLARE(int) CoreSession::originate(CoreSession *a_leg_session, char *dest, int timeout, switch_state_handler_table_t *handlers)
 {