Skip to content
项目
群组
代码片段
帮助
正在加载...
登录
切换导航
F
freeswitch
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
张华
freeswitch
Commits
c2798d7d
提交
c2798d7d
authored
2月 23, 2014
作者:
Brian West
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
moving phpmod in esl to use swig2.0 which fixes the few issues when you reswig
上级
a5490121
全部展开
显示空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
801 行增加
和
423 行删除
+801
-423
ESL.php
libs/esl/php/ESL.php
+103
-26
Makefile
libs/esl/php/Makefile
+1
-1
esl_wrap.cpp
libs/esl/php/esl_wrap.cpp
+692
-389
php_ESL.h
libs/esl/php/php_ESL.h
+1
-3
single_command.php
libs/esl/php/single_command.php
+3
-4
test.php
libs/esl/php/test.php
+1
-0
没有找到文件。
libs/esl/php/ESL.php
浏览文件 @
c2798d7d
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
/* ----------------------------------------------------------------------------
/* ----------------------------------------------------------------------------
* This file was automatically generated by SWIG (http://www.swig.org).
* This file was automatically generated by SWIG (http://www.swig.org).
* Version
1.3.35
* Version
2.0.7
*
*
* This file is not intended to be easily readable and contains a number of
* This file is not intended to be easily readable and contains a number of
* coding conventions designed to improve portability and efficiency. Do not make
* coding conventions designed to improve portability and efficiency. Do not make
...
@@ -11,13 +11,12 @@
...
@@ -11,13 +11,12 @@
* ----------------------------------------------------------------------------- */
* ----------------------------------------------------------------------------- */
// Try to load our extension if it's not already loaded.
// Try to load our extension if it's not already loaded.
if
(
!
extension_loaded
(
"ESL"
))
{
if
(
!
extension_loaded
(
'ESL'
))
{
if
(
strtolower
(
substr
(
PHP_OS
,
0
,
3
))
===
'win'
)
{
if
(
strtolower
(
substr
(
PHP_OS
,
0
,
3
))
===
'win'
)
{
if
(
!
dl
(
'php_ESL.dll'
))
return
;
if
(
!
dl
(
'php_ESL.dll'
))
return
;
}
else
{
}
else
{
// PHP_SHLIB_SUFFIX is available as of PHP 4.3.0, for older PHP assume 'so'.
// PHP_SHLIB_SUFFIX gives 'dylib' on MacOS X but modules are 'so'.
// It gives 'dylib' on MacOS X which is for libraries, modules are 'so'.
if
(
PHP_SHLIB_SUFFIX
===
'dylib'
)
{
if
(
PHP_SHLIB_SUFFIX
===
'PHP_SHLIB_SUFFIX'
||
PHP_SHLIB_SUFFIX
===
'dylib'
)
{
if
(
!
dl
(
'ESL.so'
))
return
;
if
(
!
dl
(
'ESL.so'
))
return
;
}
else
{
}
else
{
if
(
!
dl
(
'ESL.'
.
PHP_SHLIB_SUFFIX
))
return
;
if
(
!
dl
(
'ESL.'
.
PHP_SHLIB_SUFFIX
))
return
;
...
@@ -36,28 +35,37 @@ abstract class ESL {
...
@@ -36,28 +35,37 @@ abstract class ESL {
/* PHP Proxy Classes */
/* PHP Proxy Classes */
class
ESLevent
{
class
ESLevent
{
public
$_cPtr
=
null
;
public
$_cPtr
=
null
;
protected
$_pData
=
array
();
function
__set
(
$var
,
$value
)
{
function
__set
(
$var
,
$value
)
{
$func
=
'ESLevent_'
.
$var
.
'_set'
;
$func
=
'ESLevent_'
.
$var
.
'_set'
;
if
(
function_exists
(
$func
))
call_user_func
(
$func
,
$this
->
_cPtr
,
$value
);
if
(
function_exists
(
$func
))
return
call_user_func
(
$func
,
$this
->
_cPtr
,
$value
);
if
(
$var
===
'thisown'
)
return
swig_ESL_alter_newobject
(
$this
->
_cPtr
,
$value
);
$this
->
_pData
[
$var
]
=
$value
;
}
}
function
__isset
(
$var
)
{
function
__isset
(
$var
)
{
return
function_exists
(
'ESLevent_'
.
$var
.
'_set'
);
if
(
function_exists
(
'ESLevent_'
.
$var
.
'_set'
))
return
true
;
if
(
$var
===
'thisown'
)
return
true
;
return
array_key_exists
(
$var
,
$this
->
_pData
);
}
}
function
__get
(
$var
)
{
function
__get
(
$var
)
{
$func
=
'ESLevent_'
.
$var
.
'_get'
;
$func
=
'ESLevent_'
.
$var
.
'_get'
;
if
(
function_exists
(
$func
))
return
call_user_func
(
$func
,
$this
->
_cPtr
);
if
(
function_exists
(
$func
))
return
call_user_func
(
$func
,
$this
->
_cPtr
);
return
null
;
if
(
$var
===
'thisown'
)
return
swig_ESL_get_newobject
(
$this
->
_cPtr
);
return
$this
->
_pData
[
$var
];
}
}
function
__construct
(
$type_or_wrap_me_or_me
,
$subclass_name_or_free_me
=
null
)
{
function
__construct
(
$type_or_wrap_me_or_me
,
$subclass_name_or_free_me
=
null
)
{
if
(
is_resource
(
$type_or_wrap_me_or_me
)
&&
get_resource_type
(
$type_or_wrap_me_or_me
)
===
'_p_ESLevent'
)
{
$this
->
_cPtr
=
$type_or_wrap_me_or_me
;
return
;
}
switch
(
func_num_args
())
{
switch
(
func_num_args
())
{
case
1
:
$r
=
new_ESLevent
(
$type_or_wrap_me_or_me
);
break
;
case
1
:
$
this
->
_cPt
r
=
new_ESLevent
(
$type_or_wrap_me_or_me
);
break
;
default
:
$r
=
new_ESLevent
(
$type_or_wrap_me_or_me
,
$subclass_name_or_free_me
);
default
:
$
this
->
_cPt
r
=
new_ESLevent
(
$type_or_wrap_me_or_me
,
$subclass_name_or_free_me
);
}
}
$this
->
_cPtr
=
$r
;
}
}
function
serialize
(
$format
=
null
)
{
function
serialize
(
$format
=
null
)
{
...
@@ -119,15 +127,34 @@ class ESLevent {
...
@@ -119,15 +127,34 @@ class ESLevent {
class
ESLconnection
{
class
ESLconnection
{
public
$_cPtr
=
null
;
public
$_cPtr
=
null
;
protected
$_pData
=
array
();
function
__set
(
$var
,
$value
)
{
if
(
$var
===
'thisown'
)
return
swig_ESL_alter_newobject
(
$this
->
_cPtr
,
$value
);
$this
->
_pData
[
$var
]
=
$value
;
}
function
__isset
(
$var
)
{
if
(
$var
===
'thisown'
)
return
true
;
return
array_key_exists
(
$var
,
$this
->
_pData
);
}
function
__get
(
$var
)
{
if
(
$var
===
'thisown'
)
return
swig_ESL_get_newobject
(
$this
->
_cPtr
);
return
$this
->
_pData
[
$var
];
}
function
__construct
(
$host_or_socket
,
$port
=
null
,
$user_or_password
=
null
,
$password
=
null
)
{
function
__construct
(
$host_or_socket
,
$port
=
null
,
$user_or_password
=
null
,
$password
=
null
)
{
if
(
is_resource
(
$host_or_socket
)
&&
get_resource_type
(
$host_or_socket
)
===
'_p_ESLconnection'
)
{
$this
->
_cPtr
=
$host_or_socket
;
return
;
}
switch
(
func_num_args
())
{
switch
(
func_num_args
())
{
case
1
:
$r
=
new_ESLconnection
(
$host_or_socket
);
break
;
case
1
:
$
this
->
_cPt
r
=
new_ESLconnection
(
$host_or_socket
);
break
;
case
2
:
$r
=
new_ESLconnection
(
$host_or_socket
,
$port
);
break
;
case
2
:
$
this
->
_cPt
r
=
new_ESLconnection
(
$host_or_socket
,
$port
);
break
;
case
3
:
$r
=
new_ESLconnection
(
$host_or_socket
,
$port
,
$user_or_password
);
break
;
case
3
:
$
this
->
_cPt
r
=
new_ESLconnection
(
$host_or_socket
,
$port
,
$user_or_password
);
break
;
default
:
$r
=
new_ESLconnection
(
$host_or_socket
,
$port
,
$user_or_password
,
$password
);
default
:
$
this
->
_cPt
r
=
new_ESLconnection
(
$host_or_socket
,
$port
,
$user_or_password
,
$password
);
}
}
$this
->
_cPtr
=
$r
;
}
}
function
socketDescriptor
()
{
function
socketDescriptor
()
{
...
@@ -140,7 +167,12 @@ class ESLconnection {
...
@@ -140,7 +167,12 @@ class ESLconnection {
function
getInfo
()
{
function
getInfo
()
{
$r
=
ESLconnection_getInfo
(
$this
->
_cPtr
);
$r
=
ESLconnection_getInfo
(
$this
->
_cPtr
);
return
is_resource
(
$r
)
?
new
ESLevent
(
$r
)
:
$r
;
if
(
is_resource
(
$r
))
{
$c
=
substr
(
get_resource_type
(
$r
),
(
strpos
(
get_resource_type
(
$r
),
'__'
)
?
strpos
(
get_resource_type
(
$r
),
'__'
)
+
2
:
3
));
if
(
class_exists
(
$c
))
return
new
$c
(
$r
);
return
new
ESLevent
(
$r
);
}
return
$r
;
}
}
function
send
(
$cmd
)
{
function
send
(
$cmd
)
{
...
@@ -149,7 +181,12 @@ class ESLconnection {
...
@@ -149,7 +181,12 @@ class ESLconnection {
function
sendRecv
(
$cmd
)
{
function
sendRecv
(
$cmd
)
{
$r
=
ESLconnection_sendRecv
(
$this
->
_cPtr
,
$cmd
);
$r
=
ESLconnection_sendRecv
(
$this
->
_cPtr
,
$cmd
);
return
is_resource
(
$r
)
?
new
ESLevent
(
$r
)
:
$r
;
if
(
is_resource
(
$r
))
{
$c
=
substr
(
get_resource_type
(
$r
),
(
strpos
(
get_resource_type
(
$r
),
'__'
)
?
strpos
(
get_resource_type
(
$r
),
'__'
)
+
2
:
3
));
if
(
class_exists
(
$c
))
return
new
$c
(
$r
);
return
new
ESLevent
(
$r
);
}
return
$r
;
}
}
function
api
(
$cmd
,
$arg
=
null
)
{
function
api
(
$cmd
,
$arg
=
null
)
{
...
@@ -157,7 +194,12 @@ class ESLconnection {
...
@@ -157,7 +194,12 @@ class ESLconnection {
case
1
:
$r
=
ESLconnection_api
(
$this
->
_cPtr
,
$cmd
);
break
;
case
1
:
$r
=
ESLconnection_api
(
$this
->
_cPtr
,
$cmd
);
break
;
default
:
$r
=
ESLconnection_api
(
$this
->
_cPtr
,
$cmd
,
$arg
);
default
:
$r
=
ESLconnection_api
(
$this
->
_cPtr
,
$cmd
,
$arg
);
}
}
return
is_resource
(
$r
)
?
new
ESLevent
(
$r
)
:
$r
;
if
(
is_resource
(
$r
))
{
$c
=
substr
(
get_resource_type
(
$r
),
(
strpos
(
get_resource_type
(
$r
),
'__'
)
?
strpos
(
get_resource_type
(
$r
),
'__'
)
+
2
:
3
));
if
(
class_exists
(
$c
))
return
new
$c
(
$r
);
return
new
ESLevent
(
$r
);
}
return
$r
;
}
}
function
bgapi
(
$cmd
,
$arg
=
null
,
$job_uuid
=
null
)
{
function
bgapi
(
$cmd
,
$arg
=
null
,
$job_uuid
=
null
)
{
...
@@ -166,12 +208,22 @@ class ESLconnection {
...
@@ -166,12 +208,22 @@ class ESLconnection {
case
2
:
$r
=
ESLconnection_bgapi
(
$this
->
_cPtr
,
$cmd
,
$arg
);
break
;
case
2
:
$r
=
ESLconnection_bgapi
(
$this
->
_cPtr
,
$cmd
,
$arg
);
break
;
default
:
$r
=
ESLconnection_bgapi
(
$this
->
_cPtr
,
$cmd
,
$arg
,
$job_uuid
);
default
:
$r
=
ESLconnection_bgapi
(
$this
->
_cPtr
,
$cmd
,
$arg
,
$job_uuid
);
}
}
return
is_resource
(
$r
)
?
new
ESLevent
(
$r
)
:
$r
;
if
(
is_resource
(
$r
))
{
$c
=
substr
(
get_resource_type
(
$r
),
(
strpos
(
get_resource_type
(
$r
),
'__'
)
?
strpos
(
get_resource_type
(
$r
),
'__'
)
+
2
:
3
));
if
(
class_exists
(
$c
))
return
new
$c
(
$r
);
return
new
ESLevent
(
$r
);
}
return
$r
;
}
}
function
sendEvent
(
$send_me
)
{
function
sendEvent
(
$send_me
)
{
$r
=
ESLconnection_sendEvent
(
$this
->
_cPtr
,
$send_me
);
$r
=
ESLconnection_sendEvent
(
$this
->
_cPtr
,
$send_me
);
return
is_resource
(
$r
)
?
new
ESLevent
(
$r
)
:
$r
;
if
(
is_resource
(
$r
))
{
$c
=
substr
(
get_resource_type
(
$r
),
(
strpos
(
get_resource_type
(
$r
),
'__'
)
?
strpos
(
get_resource_type
(
$r
),
'__'
)
+
2
:
3
));
if
(
class_exists
(
$c
))
return
new
$c
(
$r
);
return
new
ESLevent
(
$r
);
}
return
$r
;
}
}
function
sendMSG
(
$send_me
,
$uuid
=
null
)
{
function
sendMSG
(
$send_me
,
$uuid
=
null
)
{
...
@@ -184,17 +236,32 @@ class ESLconnection {
...
@@ -184,17 +236,32 @@ class ESLconnection {
function
recvEvent
()
{
function
recvEvent
()
{
$r
=
ESLconnection_recvEvent
(
$this
->
_cPtr
);
$r
=
ESLconnection_recvEvent
(
$this
->
_cPtr
);
return
is_resource
(
$r
)
?
new
ESLevent
(
$r
)
:
$r
;
if
(
is_resource
(
$r
))
{
$c
=
substr
(
get_resource_type
(
$r
),
(
strpos
(
get_resource_type
(
$r
),
'__'
)
?
strpos
(
get_resource_type
(
$r
),
'__'
)
+
2
:
3
));
if
(
class_exists
(
$c
))
return
new
$c
(
$r
);
return
new
ESLevent
(
$r
);
}
return
$r
;
}
}
function
recvEventTimed
(
$ms
)
{
function
recvEventTimed
(
$ms
)
{
$r
=
ESLconnection_recvEventTimed
(
$this
->
_cPtr
,
$ms
);
$r
=
ESLconnection_recvEventTimed
(
$this
->
_cPtr
,
$ms
);
return
is_resource
(
$r
)
?
new
ESLevent
(
$r
)
:
$r
;
if
(
is_resource
(
$r
))
{
$c
=
substr
(
get_resource_type
(
$r
),
(
strpos
(
get_resource_type
(
$r
),
'__'
)
?
strpos
(
get_resource_type
(
$r
),
'__'
)
+
2
:
3
));
if
(
class_exists
(
$c
))
return
new
$c
(
$r
);
return
new
ESLevent
(
$r
);
}
return
$r
;
}
}
function
filter
(
$header
,
$value
)
{
function
filter
(
$header
,
$value
)
{
$r
=
ESLconnection_filter
(
$this
->
_cPtr
,
$header
,
$value
);
$r
=
ESLconnection_filter
(
$this
->
_cPtr
,
$header
,
$value
);
return
is_resource
(
$r
)
?
new
ESLevent
(
$r
)
:
$r
;
if
(
is_resource
(
$r
))
{
$c
=
substr
(
get_resource_type
(
$r
),
(
strpos
(
get_resource_type
(
$r
),
'__'
)
?
strpos
(
get_resource_type
(
$r
),
'__'
)
+
2
:
3
));
if
(
class_exists
(
$c
))
return
new
$c
(
$r
);
return
new
ESLevent
(
$r
);
}
return
$r
;
}
}
function
events
(
$etype
,
$value
)
{
function
events
(
$etype
,
$value
)
{
...
@@ -207,7 +274,12 @@ class ESLconnection {
...
@@ -207,7 +274,12 @@ class ESLconnection {
case
2
:
$r
=
ESLconnection_execute
(
$this
->
_cPtr
,
$app
,
$arg
);
break
;
case
2
:
$r
=
ESLconnection_execute
(
$this
->
_cPtr
,
$app
,
$arg
);
break
;
default
:
$r
=
ESLconnection_execute
(
$this
->
_cPtr
,
$app
,
$arg
,
$uuid
);
default
:
$r
=
ESLconnection_execute
(
$this
->
_cPtr
,
$app
,
$arg
,
$uuid
);
}
}
return
is_resource
(
$r
)
?
new
ESLevent
(
$r
)
:
$r
;
if
(
is_resource
(
$r
))
{
$c
=
substr
(
get_resource_type
(
$r
),
(
strpos
(
get_resource_type
(
$r
),
'__'
)
?
strpos
(
get_resource_type
(
$r
),
'__'
)
+
2
:
3
));
if
(
class_exists
(
$c
))
return
new
$c
(
$r
);
return
new
ESLevent
(
$r
);
}
return
$r
;
}
}
function
executeAsync
(
$app
,
$arg
=
null
,
$uuid
=
null
)
{
function
executeAsync
(
$app
,
$arg
=
null
,
$uuid
=
null
)
{
...
@@ -216,7 +288,12 @@ class ESLconnection {
...
@@ -216,7 +288,12 @@ class ESLconnection {
case
2
:
$r
=
ESLconnection_executeAsync
(
$this
->
_cPtr
,
$app
,
$arg
);
break
;
case
2
:
$r
=
ESLconnection_executeAsync
(
$this
->
_cPtr
,
$app
,
$arg
);
break
;
default
:
$r
=
ESLconnection_executeAsync
(
$this
->
_cPtr
,
$app
,
$arg
,
$uuid
);
default
:
$r
=
ESLconnection_executeAsync
(
$this
->
_cPtr
,
$app
,
$arg
,
$uuid
);
}
}
return
is_resource
(
$r
)
?
new
ESLevent
(
$r
)
:
$r
;
if
(
is_resource
(
$r
))
{
$c
=
substr
(
get_resource_type
(
$r
),
(
strpos
(
get_resource_type
(
$r
),
'__'
)
?
strpos
(
get_resource_type
(
$r
),
'__'
)
+
2
:
3
));
if
(
class_exists
(
$c
))
return
new
$c
(
$r
);
return
new
ESLevent
(
$r
);
}
return
$r
;
}
}
function
setAsyncExecute
(
$val
)
{
function
setAsyncExecute
(
$val
)
{
...
...
libs/esl/php/Makefile
浏览文件 @
c2798d7d
...
@@ -16,7 +16,7 @@ WRAP_GCC_WARNING_SILENCE=-Wno-unused-label -Wno-unused-function
...
@@ -16,7 +16,7 @@ WRAP_GCC_WARNING_SILENCE=-Wno-unused-label -Wno-unused-function
all
:
ESL.so
all
:
ESL.so
esl_wrap.cpp
:
esl_wrap.cpp
:
swig
-module
ESL
-php5
-c
++
-DMULTIPLICITY
-I
../src/include
-o
esl_wrap.cpp ../ESL.i
swig
2.0
-module
ESL
-php5
-c
++
-DMULTIPLICITY
-I
../src/include
-o
esl_wrap.cpp ../ESL.i
sed
-e
's/ char \*type_name;/ const char \*type_name;/'
-i
esl_wrap.cpp
sed
-e
's/ char \*type_name;/ const char \*type_name;/'
-i
esl_wrap.cpp
esl_wrap.o
:
esl_wrap.cpp
esl_wrap.o
:
esl_wrap.cpp
...
...
libs/esl/php/esl_wrap.cpp
浏览文件 @
c2798d7d
差异被折叠。
点击展开。
libs/esl/php/php_ESL.h
浏览文件 @
c2798d7d
/* ----------------------------------------------------------------------------
/* ----------------------------------------------------------------------------
* This file was automatically generated by SWIG (http://www.swig.org).
* This file was automatically generated by SWIG (http://www.swig.org).
* Version
1.3.35
* Version
2.0.7
*
*
* This file is not intended to be easily readable and contains a number of
* This file is not intended to be easily readable and contains a number of
* coding conventions designed to improve portability and efficiency. Do not make
* coding conventions designed to improve portability and efficiency. Do not make
...
@@ -8,8 +8,6 @@
...
@@ -8,8 +8,6 @@
* interface file instead.
* interface file instead.
* ----------------------------------------------------------------------------- */
* ----------------------------------------------------------------------------- */
#ifndef PHP_ESL_H
#ifndef PHP_ESL_H
#define PHP_ESL_H
#define PHP_ESL_H
...
...
libs/esl/php/single_command.php
浏览文件 @
c2798d7d
...
@@ -6,10 +6,9 @@ if ($argc > 1) {
...
@@ -6,10 +6,9 @@ if ($argc > 1) {
array_shift
(
$argv
);
array_shift
(
$argv
);
$command
=
sprintf
(
'%s'
,
implode
(
' '
,
$argv
));
$command
=
sprintf
(
'%s'
,
implode
(
' '
,
$argv
));
printf
(
"Command to run is: %s
\n
"
,
$command
);
printf
(
"Command to run is: %s
\n
"
,
$command
);
$esl
=
new
eslConnection
(
'127.0.0.1'
,
'8021'
,
'ClueCon'
);
$sock
=
new
ESLconnection
(
'localhost'
,
'8021'
,
'ClueCon'
);
$e
=
$esl
->
api
(
"
$command
"
);
$res
=
$sock
->
api
(
$command
);
print
$e
->
getBody
();
printf
(
"%s
\n
"
,
$res
->
getBody
());
}
else
{
}
else
{
printf
(
"ERROR: You Need To Pass A Command
\n
Usage:
\n\t
%s <command>"
,
$argv
[
0
]);
printf
(
"ERROR: You Need To Pass A Command
\n
Usage:
\n\t
%s <command>"
,
$argv
[
0
]);
}
}
...
...
libs/esl/php/test.php
浏览文件 @
c2798d7d
...
@@ -5,3 +5,4 @@ $esl = new eslConnection('127.0.0.1', '8021', 'ClueCon');
...
@@ -5,3 +5,4 @@ $esl = new eslConnection('127.0.0.1', '8021', 'ClueCon');
$e
=
$esl
->
sendRecv
(
"api status"
);
$e
=
$esl
->
sendRecv
(
"api status"
);
print
$e
->
getBody
();
print
$e
->
getBody
();
?>
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论