[Freeswitch-svn] [commit] r10940 - freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax
FreeSWITCH SVN
gmaruzz at freeswitch.org
Wed Dec 24 08:45:32 PST 2008
Author: gmaruzz
Date: Wed Dec 24 11:45:31 2008
New Revision: 10940
Log:
skypiax: beginning multiline on windows
Modified:
freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c
Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c
==============================================================================
--- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c (original)
+++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c Wed Dec 24 11:45:31 2008
@@ -522,9 +522,70 @@
}
}
+int LaunchSkype2(void)
+{
+ PROCESS_INFORMATION pi;
+ STARTUPINFO si = {0};
+ struct skypiax_interface *p = NULL;
+ int ret=1;
+ int times=0;
+ LPTSTR pszMessage;
+ DWORD dwLastError;
+ ZeroMemory( &si, sizeof(si) );
+ si.cb = sizeof(si);
+ ZeroMemory( &pi, sizeof(pi) );
+
+ ShellExecute(NULL, "open", "C:\\Program Files\\Skype\\Phone\\Skype.exe", "/secondary /username:skypiax3 /password:xxx", ".", SW_SHOWNORMAL);
+ switch_sleep(1000000);
+ ShellExecute(NULL, "open", "C:\\Program Files\\Skype\\Phone\\Skype.exe", "/secondary /username:skypiax4 /password:xxx", ".", SW_SHOWNORMAL);
+
+#if 0
+
+ CreateProcess( "C:\\Program Files\\Skype\\Phone\\Skype.exe",
+ "/secondary /username:skypiax4 /password:xxx", // Command line.
+ NULL, // Process handle not inheritable.
+ NULL, // Thread handle not inheritable.
+ FALSE, // Set handle inheritance to FALSE.
+ NORMAL_PRIORITY_CLASS, // No creation flags.
+ NULL, // Use parent's environment block.
+ NULL, // Use parent's starting directory.
+ &si, // Pointer to STARTUPINFO structure.
+ &pi // Pointer to PROCESS_INFORMATION structure.
+ );
+#endif
+
+ dwLastError = GetLastError();
+
+ FormatMessage(
+ FORMAT_MESSAGE_ALLOCATE_BUFFER |
+ FORMAT_MESSAGE_FROM_SYSTEM |
+ FORMAT_MESSAGE_IGNORE_INSERTS,
+ NULL,
+ dwLastError,
+ MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
+ (LPTSTR)&pszMessage,
+ 0, NULL );
+
+ NOTICA("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA %s\n", SKYPIAX_P_LOG,pszMessage);
+ LocalFree(pszMessage);
+#if 0
+ switch_sleep(10000000);
+
+ while(ret){
+ ret = EnumWindows(&EnumWindowsProc, pi.dwThreadId);
+ switch_sleep(10000);
+ times++;
+ if (times == 1000)
+ break;
+ }
+ NOTICA("HWND=%p\n", SKYPIAX_P_LOG, win32_hGlobal_SkypeAPIWindowHandle);
+#endif
+ return 1;
+
+}
int LaunchSkype(void)
{
@@ -533,22 +594,50 @@
struct skypiax_interface *p = NULL;
int ret=1;
int times=0;
+ LPTSTR pszMessage;
+ DWORD dwLastError;
-
+ ZeroMemory( &si, sizeof(si) );
si.cb = sizeof(si);
+ ZeroMemory( &pi, sizeof(pi) );
+
+ ShellExecute(NULL, "open", "C:\\Program Files\\Skype\\Phone\\Skype.exe", "/secondary /username:skypiax5 /password:xxx", ".", SW_SHOWNORMAL);
+
+#if 0
CreateProcess( "C:\\Program Files\\Skype\\Phone\\Skype.exe",
- "/secondary /username:skypiax4 /password:", // Command line.
+ "/secondary /username:skypiax5 /password:xxx", // Command line.
NULL, // Process handle not inheritable.
NULL, // Thread handle not inheritable.
FALSE, // Set handle inheritance to FALSE.
- NORMAL_PRIORITY_CLASS, // No creation flags.
+ 0, // No creation flags.
NULL, // Use parent's environment block.
NULL, // Use parent's starting directory.
&si, // Pointer to STARTUPINFO structure.
&pi // Pointer to PROCESS_INFORMATION structure.
);
+#endif
+
+ dwLastError = GetLastError();
+
+ FormatMessage(
+ FORMAT_MESSAGE_ALLOCATE_BUFFER |
+ FORMAT_MESSAGE_FROM_SYSTEM |
+ FORMAT_MESSAGE_IGNORE_INSERTS,
+ NULL,
+ dwLastError,
+ MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
+ (LPTSTR)&pszMessage,
+ 0, NULL );
+
+ // Display the error message and exit the process
+
+
+ NOTICA("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA %s\n", SKYPIAX_P_LOG,pszMessage);
+ LocalFree(pszMessage);
+#if 0
+ switch_sleep(10000000);
while(ret){
ret = EnumWindows(&EnumWindowsProc, pi.dwThreadId);
@@ -558,6 +647,7 @@
break;
}
NOTICA("HWND=%p\n", SKYPIAX_P_LOG, win32_hGlobal_SkypeAPIWindowHandle);
+#endif
return 1;
}
@@ -643,16 +733,13 @@
if (uiMessage == win32_uiGlobal_MsgID_SkypeControlAPIAttach) {
switch (ulParam) {
case SKYPECONTROLAPI_ATTACH_SUCCESS:
- NOTICA(" OK, we have to find the subwindow, or something like HWND=%p\n", SKYPIAX_P_LOG, win32_hGlobal_SkypeAPIWindowHandle);
NOTICA("\n\n\tConnected to Skype API!\n", SKYPIAX_P_LOG);
win32_hGlobal_SkypeAPIWindowHandle = (HWND) uiParam;
- NOTICA(" OK, we have to find the subwindow, or something like HWND=%p\n", SKYPIAX_P_LOG, win32_hGlobal_SkypeAPIWindowHandle);
switch_sleep(5000);
win32_AsteriskHandlesSkype->win32_hGlobal_SkypeAPIWindowHandle =
win32_hGlobal_SkypeAPIWindowHandle;
break;
case SKYPECONTROLAPI_ATTACH_PENDING_AUTHORIZATION:
- NOTICA("HWND=%u\n", SKYPIAX_P_LOG, win32_hGlobal_SkypeAPIWindowHandle);
WARNINGA
("\n\n\tIf I do not immediately connect to Skype API,\n\tplease give the Skype client authorization to be connected \n\tby Asterisk and to not ask you again.\n\n",
SKYPIAX_P_LOG);
@@ -666,11 +753,9 @@
case SKYPECONTROLAPI_ATTACH_API_AVAILABLE:
DEBUGA_SKYPE("Skype API available\n", SKYPIAX_P_LOG);
- NOTICA("HWND=%u\n", SKYPIAX_P_LOG, win32_hGlobal_SkypeAPIWindowHandle);
SendMessage
(HWND_BROADCAST, win32_uiGlobal_MsgID_SkypeControlAPIDiscover,
(WPARAM) win32_hInit_MainWindowHandle, 0);
- NOTICA("HWND=%u\n", SKYPIAX_P_LOG, win32_hGlobal_SkypeAPIWindowHandle);
break;
default:
WARNINGA("GOT AN UNKNOWN SKYPE WINDOWS MSG\n", SKYPIAX_P_LOG);
@@ -765,9 +850,7 @@
//DWORD MsgWaitResult;
p = obj;
- LaunchSkype();
- NOTICA("HWND=%u\n", SKYPIAX_P_LOG, win32_hGlobal_SkypeAPIWindowHandle);
switch_file_pipe_create(&p->AsteriskHandlesAst.fdesc[0], &p->AsteriskHandlesAst.fdesc[1], skypiax_module_pool);
//switch_file_pipe_timeout_set(p->AsteriskHandlesAst.fdesc[0], 100);
@@ -779,13 +862,23 @@
win32_uiGlobal_MsgID_SkypeControlAPIDiscover =
RegisterWindowMessage("SkypeControlAPIDiscover");
+ LaunchSkype();
+ switch_sleep(1000000);
+ LaunchSkype2();
+ switch_sleep(1000000);
+
if (win32_uiGlobal_MsgID_SkypeControlAPIAttach != 0
&& win32_uiGlobal_MsgID_SkypeControlAPIDiscover != 0) {
if (win32_Initialize_CreateWindowClass()) {
if (win32_Initialize_CreateMainWindow()) {
+#if 1
if (SendMessage
(HWND_BROADCAST, win32_uiGlobal_MsgID_SkypeControlAPIDiscover,
(WPARAM) win32_hInit_MainWindowHandle, 0) != 0) {
+#else
+
+ if (1) {
+#endif
win32_AsteriskHandlesSkype->win32_hInit_MainWindowHandle =
win32_hInit_MainWindowHandle;
while (1) {
@@ -1158,7 +1251,8 @@
memset(messaggio_2, 0, 4096);
rt = 1;
- if (rt > 0) {
+ //if (rt > 0) {
+ if (p->AsteriskHandlesAst.fdesc[0]) {
howmany = sizeof(read_from_pipe);
switch_file_read(p->AsteriskHandlesAst.fdesc[0], read_from_pipe, &howmany);
More information about the Freeswitch-svn
mailing list