summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile4
-rw-r--r--REFLECTION1225
-rw-r--r--php-pecl-hprose.spec229
3 files changed, 1458 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..13af741
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,4 @@
+SRCDIR := $(shell pwd)
+NAME := $(shell basename $(SRCDIR))
+include ../../../common/Makefile
+
diff --git a/REFLECTION b/REFLECTION
new file mode 100644
index 0000000..fffcce8
--- /dev/null
+++ b/REFLECTION
@@ -0,0 +1,1225 @@
+Extension [ <persistent> extension #98 hprose version 1.0.0 ] {
+
+ - Functions {
+ Function [ <internal:hprose> function hprose_serialize ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> $val ]
+ Parameter #1 [ <optional> $simple ]
+ }
+ }
+ Function [ <internal:hprose> function hprose_unserialize ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> $data ]
+ Parameter #1 [ <optional> $simple ]
+ }
+ }
+ Function [ <internal:hprose> function hprose_info ] {
+
+ - Parameters [0] {
+ }
+ }
+ }
+
+ - Classes [12] {
+ Class [ <internal:hprose> class HproseTags ] {
+
+ - Constants [34] {
+ Constant [ string TagInteger ] { i }
+ Constant [ string TagLong ] { l }
+ Constant [ string TagDouble ] { d }
+ Constant [ string TagNull ] { n }
+ Constant [ string TagEmpty ] { e }
+ Constant [ string TagTrue ] { t }
+ Constant [ string TagFalse ] { f }
+ Constant [ string TagNaN ] { N }
+ Constant [ string TagInfinity ] { I }
+ Constant [ string TagDate ] { D }
+ Constant [ string TagTime ] { T }
+ Constant [ string TagUTC ] { Z }
+ Constant [ string TagBytes ] { b }
+ Constant [ string TagUTF8Char ] { u }
+ Constant [ string TagString ] { s }
+ Constant [ string TagGuid ] { g }
+ Constant [ string TagList ] { a }
+ Constant [ string TagMap ] { m }
+ Constant [ string TagClass ] { c }
+ Constant [ string TagObject ] { o }
+ Constant [ string TagRef ] { r }
+ Constant [ string TagPos ] { + }
+ Constant [ string TagNeg ] { - }
+ Constant [ string TagSemicolon ] { ; }
+ Constant [ string TagOpenbrace ] { { }
+ Constant [ string TagClosebrace ] { } }
+ Constant [ string TagQuote ] { " }
+ Constant [ string TagPoint ] { . }
+ Constant [ string TagFunctions ] { F }
+ Constant [ string TagCall ] { C }
+ Constant [ string TagResult ] { R }
+ Constant [ string TagArgument ] { A }
+ Constant [ string TagError ] { E }
+ Constant [ string TagEnd ] { z }
+ }
+
+ - Static properties [0] {
+ }
+
+ - Static methods [0] {
+ }
+
+ - Properties [0] {
+ }
+
+ - Methods [0] {
+ }
+ }
+
+ Class [ <internal:hprose> class HproseBytesIO ] {
+
+ - Constants [0] {
+ }
+
+ - Static properties [0] {
+ }
+
+ - Static methods [0] {
+ }
+
+ - Properties [0] {
+ }
+
+ - Methods [17] {
+ Method [ <internal:hprose, ctor> public method __construct ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <optional> $str ]
+ }
+ }
+
+ Method [ <internal:hprose, dtor> public method __destruct ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method close ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method length ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method getc ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method read ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> $n ]
+ }
+ }
+
+ Method [ <internal:hprose> public method readfull ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method readuntil ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> $tag ]
+ }
+ }
+
+ Method [ <internal:hprose> public method readString ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> $n ]
+ }
+ }
+
+ Method [ <internal:hprose> public method mark ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method unmark ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method reset ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method skip ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> $n ]
+ }
+ }
+
+ Method [ <internal:hprose> public method eof ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method write ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> $str ]
+ Parameter #1 [ <optional> $n ]
+ }
+ }
+
+ Method [ <internal:hprose> public method toString ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method __toString ] {
+
+ - Parameters [0] {
+ }
+ }
+ }
+ }
+
+ Class [ <internal:hprose> class HproseClassManager ] {
+
+ - Constants [0] {
+ }
+
+ - Static properties [0] {
+ }
+
+ - Static methods [3] {
+ Method [ <internal:hprose> static public method register ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> $name ]
+ Parameter #1 [ <required> $alias ]
+ }
+ }
+
+ Method [ <internal:hprose> static public method getAlias ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> $name ]
+ }
+ }
+
+ Method [ <internal:hprose> static public method getClass ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> $alias ]
+ }
+ }
+ }
+
+ - Properties [0] {
+ }
+
+ - Methods [0] {
+ }
+ }
+
+ Class [ <internal:hprose> class HproseWriter ] {
+
+ - Constants [0] {
+ }
+
+ - Static properties [0] {
+ }
+
+ - Static methods [0] {
+ }
+
+ - Properties [0] {
+ }
+
+ - Methods [29] {
+ Method [ <internal:hprose, ctor> public method __construct ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> HproseBytesIO $stream ]
+ Parameter #1 [ <optional> $simple ]
+ }
+ }
+
+ Method [ <internal:hprose, dtor> public method __destruct ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method serialize ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> $data ]
+ }
+ }
+
+ Method [ <internal:hprose> public method writeInteger ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> $i ]
+ }
+ }
+
+ Method [ <internal:hprose> public method writeLong ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> $i ]
+ }
+ }
+
+ Method [ <internal:hprose> public method writeDouble ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> $d ]
+ }
+ }
+
+ Method [ <internal:hprose> public method writeNaN ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method writeInfinity ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <optional> $positive ]
+ }
+ }
+
+ Method [ <internal:hprose> public method writeNull ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method writeEmpty ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method writeBoolean ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> $b ]
+ }
+ }
+
+ Method [ <internal:hprose> public method writeUTF8Char ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> $ch ]
+ }
+ }
+
+ Method [ <internal:hprose> public method writeString ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> $str ]
+ }
+ }
+
+ Method [ <internal:hprose> public method writeStringWithRef ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> $str ]
+ }
+ }
+
+ Method [ <internal:hprose> public method writeBytes ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> $bytes ]
+ }
+ }
+
+ Method [ <internal:hprose> public method writeBytesWithRef ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> $bytes ]
+ }
+ }
+
+ Method [ <internal:hprose> public method writeDateTime ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> DateTime $dt ]
+ }
+ }
+
+ Method [ <internal:hprose> public method writeDateTimeWithRef ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> DateTime $dt ]
+ }
+ }
+
+ Method [ <internal:hprose> public method writeArray ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> array $arr ]
+ }
+ }
+
+ Method [ <internal:hprose> public method writeAssocArray ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> array $arr ]
+ }
+ }
+
+ Method [ <internal:hprose> public method writeList ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> Traversable $list ]
+ }
+ }
+
+ Method [ <internal:hprose> public method writeListWithRef ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> Traversable $list ]
+ }
+ }
+
+ Method [ <internal:hprose> public method writeMap ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> SplObjectStorage $map ]
+ }
+ }
+
+ Method [ <internal:hprose> public method writeMapWithRef ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> SplObjectStorage $map ]
+ }
+ }
+
+ Method [ <internal:hprose> public method writeStdClass ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> stdClass $obj ]
+ }
+ }
+
+ Method [ <internal:hprose> public method writeStdClassWithRef ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> stdClass $obj ]
+ }
+ }
+
+ Method [ <internal:hprose> public method writeObject ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> NULL $obj ]
+ }
+ }
+
+ Method [ <internal:hprose> public method writeObjectWithRef ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> NULL $obj ]
+ }
+ }
+
+ Method [ <internal:hprose> public method reset ] {
+
+ - Parameters [0] {
+ }
+ }
+ }
+ }
+
+ Class [ <internal:hprose> class HproseRawReader ] {
+
+ - Constants [0] {
+ }
+
+ - Static properties [0] {
+ }
+
+ - Static methods [0] {
+ }
+
+ - Properties [0] {
+ }
+
+ - Methods [3] {
+ Method [ <internal:hprose, ctor> public method __construct ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose, dtor> public method __destruct ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method readRaw ] {
+
+ - Parameters [0] {
+ }
+ }
+ }
+ }
+
+ Class [ <internal:hprose> class HproseReader extends HproseRawReader ] {
+
+ - Constants [0] {
+ }
+
+ - Static properties [0] {
+ }
+
+ - Static methods [0] {
+ }
+
+ - Properties [0] {
+ }
+
+ - Methods [37] {
+ Method [ <internal:hprose, overwrites HproseRawReader, ctor> public method __construct ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> HproseBytesIO $stream ]
+ Parameter #1 [ <optional> $simple ]
+ }
+ }
+
+ Method [ <internal:hprose, overwrites HproseRawReader, prototype HproseRawReader, dtor> public method __destruct ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method unserialize ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method checkTag ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> $expectTag ]
+ Parameter #1 [ <optional> $tag ]
+ }
+ }
+
+ Method [ <internal:hprose> public method checkTags ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> $expectTags ]
+ Parameter #1 [ <optional> $tag ]
+ }
+ }
+
+ Method [ <internal:hprose> public method readIntegerWithoutTag ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method readInteger ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method readLongWithoutTag ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method readLong ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method readDoubleWithoutTag ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method readDouble ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method readNaN ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method readInfinityWithoutTag ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method readInfinity ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method readNull ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method readEmpty ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method readBoolean ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method readDateWithoutTag ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method readDate ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method readTimeWithoutTag ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method readTime ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method readBytesWithoutTag ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method readBytes ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method readUTF8CharWithoutTag ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method readUTF8Char ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method readStringWithoutTag ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method readString ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method readGuidWithoutTag ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method readGuid ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method readListWithoutTag ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method readList ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method readMapWithoutTag ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method readMap ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method readObjectWithoutTag ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method readObject ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method reset ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose, inherits HproseRawReader> public method readRaw ] {
+
+ - Parameters [0] {
+ }
+ }
+ }
+ }
+
+ Class [ <internal:hprose> class HproseFormatter ] {
+
+ - Constants [0] {
+ }
+
+ - Static properties [0] {
+ }
+
+ - Static methods [2] {
+ Method [ <internal:hprose> static public method serialize ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> $val ]
+ Parameter #1 [ <optional> $simple ]
+ }
+ }
+
+ Method [ <internal:hprose> static public method unserialize ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> $data ]
+ Parameter #1 [ <optional> $simple ]
+ }
+ }
+ }
+
+ - Properties [0] {
+ }
+
+ - Methods [0] {
+ }
+ }
+
+ Class [ <internal:hprose> class HproseResultMode ] {
+
+ - Constants [4] {
+ Constant [ integer Normal ] { 0 }
+ Constant [ integer Serialized ] { 1 }
+ Constant [ integer Raw ] { 2 }
+ Constant [ integer RawWithEndTag ] { 3 }
+ }
+
+ - Static properties [0] {
+ }
+
+ - Static methods [0] {
+ }
+
+ - Properties [0] {
+ }
+
+ - Methods [0] {
+ }
+ }
+
+ Interface [ <internal:hprose> interface HproseFilter ] {
+
+ - Constants [0] {
+ }
+
+ - Static properties [0] {
+ }
+
+ - Static methods [0] {
+ }
+
+ - Properties [0] {
+ }
+
+ - Methods [2] {
+ Method [ <internal:hprose> abstract public method inputFilter ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> $data ]
+ Parameter #1 [ <required> $context ]
+ }
+ }
+
+ Method [ <internal:hprose> abstract public method outputFilter ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> $data ]
+ Parameter #1 [ <required> $context ]
+ }
+ }
+ }
+ }
+
+ Class [ <internal:hprose> class HproseProxy ] {
+
+ - Constants [0] {
+ }
+
+ - Static properties [0] {
+ }
+
+ - Static methods [0] {
+ }
+
+ - Properties [0] {
+ }
+
+ - Methods [4] {
+ Method [ <internal:hprose, ctor> public method __construct ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> HproseClient $client ]
+ Parameter #1 [ <optional> $ns ]
+ }
+ }
+
+ Method [ <internal:hprose, dtor> public method __destruct ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method __call ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> $name ]
+ Parameter #1 [ <required> array $args ]
+ }
+ }
+
+ Method [ <internal:hprose> public method __get ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> $name ]
+ }
+ }
+ }
+ }
+
+ Class [ <internal:hprose> abstract class HproseClient extends HproseProxy ] {
+
+ - Constants [0] {
+ }
+
+ - Static properties [0] {
+ }
+
+ - Static methods [0] {
+ }
+
+ - Properties [1] {
+ Property [ <default> protected $url ]
+ }
+
+ - Methods [15] {
+ Method [ <internal:hprose, overwrites HproseProxy, ctor> public method __construct ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <optional> $url ]
+ }
+ }
+
+ Method [ <internal:hprose, overwrites HproseProxy, prototype HproseProxy, dtor> public method __destruct ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> protected method sendAndReceive ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> $request ]
+ }
+ }
+
+ Method [ <internal:hprose> protected method asyncSendAndReceive ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> $request ]
+ Parameter #1 [ <required> $use ]
+ }
+ }
+
+ Method [ <internal:hprose> protected method sendAndReceiveCallback ] {
+
+ - Parameters [3] {
+ Parameter #0 [ <required> $response ]
+ Parameter #1 [ <required> Exception or NULL $err ]
+ Parameter #2 [ <required> array $use ]
+ }
+ }
+
+ Method [ <internal:hprose> public method useService ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <optional> $url ]
+ Parameter #1 [ <optional> $ns ]
+ }
+ }
+
+ Method [ <internal:hprose> public method invoke ] {
+
+ - Parameters [6] {
+ Parameter #0 [ <required> $name ]
+ Parameter #1 [ <optional> array &$args ]
+ Parameter #2 [ <optional> $byref ]
+ Parameter #3 [ <optional> $mode ]
+ Parameter #4 [ <optional> $simple ]
+ Parameter #5 [ <optional> $callback ]
+ }
+ }
+
+ Method [ <internal:hprose> public method getFilter ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method setFilter ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> HproseFilter or NULL $filter ]
+ }
+ }
+
+ Method [ <internal:hprose> public method addFilter ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> HproseFilter $filter ]
+ }
+ }
+
+ Method [ <internal:hprose> public method removeFilter ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> HproseFilter $filter ]
+ }
+ }
+
+ Method [ <internal:hprose> public method getSimple ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method setSimple ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <optional> $simple ]
+ }
+ }
+
+ Method [ <internal:hprose, inherits HproseProxy> public method __call ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> $name ]
+ Parameter #1 [ <required> array $args ]
+ }
+ }
+
+ Method [ <internal:hprose, inherits HproseProxy> public method __get ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> $name ]
+ }
+ }
+ }
+ }
+
+ Class [ <internal:hprose> abstract class HproseService ] {
+
+ - Constants [0] {
+ }
+
+ - Static properties [0] {
+ }
+
+ - Static methods [0] {
+ }
+
+ - Properties [5] {
+ Property [ <default> protected $debug ]
+ Property [ <default> protected $error_types ]
+ Property [ <default> public $onBeforeInvoke ]
+ Property [ <default> public $onAfterInvoke ]
+ Property [ <default> public $onSendError ]
+ }
+
+ - Methods [25] {
+ Method [ <internal:hprose, ctor> public method __construct ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <optional> $url ]
+ }
+ }
+
+ Method [ <internal:hprose, dtor> public method __destruct ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> protected method getErrorTypeString ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> $errno ]
+ }
+ }
+
+ Method [ <internal:hprose> protected method sendError ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> $error ]
+ Parameter #1 [ <required> $context ]
+ }
+ }
+
+ Method [ <internal:hprose> protected method doInvoke ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> HproseBytesIO $input ]
+ Parameter #1 [ <required> $context ]
+ }
+ }
+
+ Method [ <internal:hprose> protected method doFunctionList ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> $context ]
+ }
+ }
+
+ Method [ <internal:hprose> public method isDebugEnabled ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method setDebugEnabled ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <optional> $enable ]
+ }
+ }
+
+ Method [ <internal:hprose> public method getErrorTypes ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method setErrorTypes ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> $error_types ]
+ }
+ }
+
+ Method [ <internal:hprose> public method getFilter ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method setFilter ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> HproseFilter or NULL $filter ]
+ }
+ }
+
+ Method [ <internal:hprose> public method addFilter ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> HproseFilter $filter ]
+ }
+ }
+
+ Method [ <internal:hprose> public method removeFilter ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> HproseFilter $filter ]
+ }
+ }
+
+ Method [ <internal:hprose> public method getSimple ] {
+
+ - Parameters [0] {
+ }
+ }
+
+ Method [ <internal:hprose> public method setSimple ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <optional> $simple ]
+ }
+ }
+
+ Method [ <internal:hprose> public method defaultHandle ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> $request ]
+ Parameter #1 [ <required> $context ]
+ }
+ }
+
+ Method [ <internal:hprose> public method addMissingFunction ] {
+
+ - Parameters [3] {
+ Parameter #0 [ <required> $func ]
+ Parameter #1 [ <optional> $mode ]
+ Parameter #2 [ <optional> $simple ]
+ }
+ }
+
+ Method [ <internal:hprose> public method addFunction ] {
+
+ - Parameters [4] {
+ Parameter #0 [ <required> $func ]
+ Parameter #1 [ <optional> $alias ]
+ Parameter #2 [ <optional> $mode ]
+ Parameter #3 [ <optional> $simple ]
+ }
+ }
+
+ Method [ <internal:hprose> public method addFunctions ] {
+
+ - Parameters [4] {
+ Parameter #0 [ <required> array $funcs ]
+ Parameter #1 [ <optional> array or NULL $aliases ]
+ Parameter #2 [ <optional> $mode ]
+ Parameter #3 [ <optional> $simple ]
+ }
+ }
+
+ Method [ <internal:hprose> public method addMethod ] {
+
+ - Parameters [5] {
+ Parameter #0 [ <required> $methodname ]
+ Parameter #1 [ <required> $belongto ]
+ Parameter #2 [ <optional> $alias ]
+ Parameter #3 [ <optional> $mode ]
+ Parameter #4 [ <optional> $simple ]
+ }
+ }
+
+ Method [ <internal:hprose> public method addMethods ] {
+
+ - Parameters [5] {
+ Parameter #0 [ <required> array $methods ]
+ Parameter #1 [ <required> $belongto ]
+ Parameter #2 [ <optional> $aliases ]
+ Parameter #3 [ <optional> $mode ]
+ Parameter #4 [ <optional> $simple ]
+ }
+ }
+
+ Method [ <internal:hprose> public method addInstanceMethods ] {
+
+ - Parameters [5] {
+ Parameter #0 [ <required> $obj ]
+ Parameter #1 [ <optional> $class_name ]
+ Parameter #2 [ <optional> $alias_prefix ]
+ Parameter #3 [ <optional> $mode ]
+ Parameter #4 [ <optional> $simple ]
+ }
+ }
+
+ Method [ <internal:hprose> public method addClassMethods ] {
+
+ - Parameters [5] {
+ Parameter #0 [ <required> $class_name ]
+ Parameter #1 [ <optional> $exec_class ]
+ Parameter #2 [ <optional> $alias_prefix ]
+ Parameter #3 [ <optional> $mode ]
+ Parameter #4 [ <optional> $simple ]
+ }
+ }
+
+ Method [ <internal:hprose> public method add ] {
+
+ - Parameters [3] {
+ Parameter #0 [ <required> $arg1 ]
+ Parameter #1 [ <optional> $arg2 ]
+ Parameter #2 [ <optional> $arg3 ]
+ }
+ }
+ }
+ }
+ }
+}
+
diff --git a/php-pecl-hprose.spec b/php-pecl-hprose.spec
new file mode 100644
index 0000000..1bb3ae0
--- /dev/null
+++ b/php-pecl-hprose.spec
@@ -0,0 +1,229 @@
+# spec file for php-pecl-hprose
+#
+# Copyright (c) 2015 Remi Collet
+# License: CC-BY-SA
+# http://creativecommons.org/licenses/by-sa/4.0/
+#
+# Please, preserve the changelog entries
+#
+%{?scl: %scl_package php-pecl-hprose}
+%{!?php_inidir: %global php_inidir %{_sysconfdir}/php.d}
+%{!?__pecl: %global __pecl %{_bindir}/pecl}
+%{!?__php: %global __php %{_bindir}/php}
+
+%global with_zts 0%{?__ztsphp:1}
+%global pecl_name hprose
+%global with_tests %{?_without_tests:0}%{!?_without_tests:1}
+%if "%{php_version}" < "5.6"
+%global ini_name %{pecl_name}.ini
+%else
+%global ini_name 40-%{pecl_name}.ini
+%endif
+
+Summary: Hprose for PHP.
+Name: %{?scl_prefix}php-pecl-%{pecl_name}
+Version: 1.0.0
+Release: 1%{?dist}%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}
+License: MIT
+Group: Development/Languages
+URL: http://pecl.php.net/package/%{pecl_name}
+Source0: http://pecl.php.net/get/%{pecl_name}-%{version}.tgz
+
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+BuildRequires: %{?scl_prefix}php-devel > 5.3
+BuildRequires: %{?scl_prefix}php-pear
+
+Requires: %{?scl_prefix}php(zend-abi) = %{php_zend_api}
+Requires: %{?scl_prefix}php(api) = %{php_core_api}
+%{?_sclreq:Requires: %{?scl_prefix}runtime%{?_sclreq}%{?_isa}}
+
+Provides: %{?scl_prefix}php-%{pecl_name} = %{version}
+Provides: %{?scl_prefix}php-%{pecl_name}%{?_isa} = %{version}
+Provides: %{?scl_prefix}php-pecl(%{pecl_name}) = %{version}
+Provides: %{?scl_prefix}php-pecl(%{pecl_name})%{?_isa} = %{version}
+
+%if "%{?vendor}" == "Remi Collet" && 0%{!?scl:1}
+# Other third party repo stuff
+Obsoletes: php53-pecl-%{pecl_name} <= %{version}
+Obsoletes: php53u-pecl-%{pecl_name} <= %{version}
+Obsoletes: php54-pecl-%{pecl_name} <= %{version}
+Obsoletes: php54w-pecl-%{pecl_name} <= %{version}
+%if "%{php_version}" > "5.5"
+Obsoletes: php55u-pecl-%{pecl_name} <= %{version}
+Obsoletes: php55w-pecl-%{pecl_name} <= %{version}
+%endif
+%if "%{php_version}" > "5.6"
+Obsoletes: php56u-pecl-%{pecl_name} <= %{version}
+Obsoletes: php56w-pecl-%{pecl_name} <= %{version}
+%endif
+%endif
+
+%if 0%{?fedora} < 20 && 0%{?rhel} < 7
+# Filter shared private
+%{?filter_provides_in: %filter_provides_in %{_libdir}/.*\.so$}
+%{?filter_setup}
+%endif
+
+
+%description
+Hprose is a High Performance Remote Object Service Engine.
+
+It is a modern, lightweight, cross-language, cross-platform, object-oriented,
+high performance, remote dynamic communication middleware. It is not only
+easy to use, but powerful. You just need a little time to learn, then you
+can use it to easily construct cross language cross platform distributed
+application system.
+
+Hprose supports many programming languages. Through Hprose, You can
+conveniently and efficiently intercommunicate between those programming
+languages.
+
+This project is the implementation of Hprose for PHP.
+
+
+%prep
+%setup -q -c
+mv %{pecl_name}-%{version} NTS
+
+# Don't install tests
+sed -e 's/role="test"/role="src"/' \
+ -i package.xml
+
+cd NTS
+# Sanity check, really often broken
+extver=$(sed -n '/#define PHP_HPROSE_VERSION/{s/.* "//;s/".*$//;p}' php_hprose.h)
+if test "x${extver}" != "x%{version}"; then
+ : Error: Upstream extension version is ${extver}, expecting %{version}.
+ exit 1
+fi
+cd ..
+
+%if %{with_zts}
+# Duplicate source tree for NTS / ZTS build
+cp -pr NTS ZTS
+%endif
+
+# Create configuration file
+cat > %{ini_name} << 'EOF'
+; Enable '%{pecl_name}' extension module
+extension=%{pecl_name}.so
+EOF
+
+
+%build
+cd NTS
+%{_bindir}/phpize
+%configure \
+ --enable-hprose \
+ --with-php-config=%{_bindir}/php-config
+make %{?_smp_mflags}
+
+%if %{with_zts}
+cd ../ZTS
+%{_bindir}/zts-phpize
+%configure \
+ --enable-hprose \
+ --with-php-config=%{_bindir}/zts-php-config
+make %{?_smp_mflags}
+%endif
+
+
+%install
+rm -rf %{buildroot}
+
+make -C NTS install INSTALL_ROOT=%{buildroot}
+
+# install config file
+install -D -m 644 %{ini_name} %{buildroot}%{php_inidir}/%{ini_name}
+
+# Install XML package description
+install -D -m 644 package.xml %{buildroot}%{pecl_xmldir}/%{name}.xml
+
+%if %{with_zts}
+make -C ZTS install INSTALL_ROOT=%{buildroot}
+
+install -D -m 644 %{ini_name} %{buildroot}%{php_ztsinidir}/%{ini_name}
+%endif
+
+# Documentation
+for i in $(grep 'role="doc"' package.xml | sed -e 's/^.*name="//;s/".*$//')
+do install -Dpm 644 NTS/$i %{buildroot}%{pecl_docdir}/%{pecl_name}/$i
+done
+
+
+# when pear installed alone, after us
+%triggerin -- %{?scl_prefix}php-pear
+if [ -x %{__pecl} ] ; then
+ %{pecl_install} %{pecl_xmldir}/%{name}.xml >/dev/null || :
+fi
+
+# posttrans as pear can be installed after us
+%posttrans
+if [ -x %{__pecl} ] ; then
+ %{pecl_install} %{pecl_xmldir}/%{name}.xml >/dev/null || :
+fi
+
+%postun
+if [ $1 -eq 0 -a -x %{__pecl} ] ; then
+ %{pecl_uninstall} %{pecl_name} >/dev/null || :
+fi
+
+
+%check
+cd NTS
+: Minimal load test for NTS extension
+%{__php} --no-php-ini \
+ --define extension=%{buildroot}%{php_extdir}/%{pecl_name}.so \
+ --modules | grep %{pecl_name}
+
+%if %{with_tests}
+: Upstream test suite for NTS extension
+TEST_PHP_EXECUTABLE=%{__php} \
+TEST_PHP_ARGS="-n -d extension=$PWD/modules/%{pecl_name}.so" \
+NO_INTERACTION=1 \
+REPORT_EXIT_STATUS=1 \
+%{__php} -n run-tests.php --show-diff
+%endif
+
+%if %{with_zts}
+cd ../ZTS
+: Minimal load test for ZTS extension
+%{__ztsphp} --no-php-ini \
+ --define extension=%{buildroot}%{php_ztsextdir}/%{pecl_name}.so \
+ --modules | grep %{pecl_name}
+
+%if %{with_tests}
+: Upstream test suite for ZTS extension
+TEST_PHP_EXECUTABLE=%{_bindir}/zts-php \
+TEST_PHP_ARGS="-n -d extension=$PWD/modules/%{pecl_name}.so" \
+NO_INTERACTION=1 \
+REPORT_EXIT_STATUS=1 \
+%{_bindir}/zts-php -n run-tests.php --show-diff
+%endif
+%endif
+
+
+%clean
+rm -rf %{buildroot}
+
+
+%files
+%defattr(-,root,root,-)
+%doc %{pecl_docdir}/%{pecl_name}
+%{?_licensedir:%license NTS/LICENSE.md}
+
+%{pecl_xmldir}/%{name}.xml
+%config(noreplace) %{php_inidir}/%{ini_name}
+%{php_extdir}/%{pecl_name}.so
+
+%if %{with_zts}
+%config(noreplace) %{php_ztsinidir}/%{ini_name}
+%{php_ztsextdir}/%{pecl_name}.so
+%endif
+
+
+%changelog
+* Sat Feb 14 2015 Remi Collet <remi@fedoraproject.org> - 1.0.0-1
+- initial package, version 1.0.0 (stable)
+- open https://github.com/hprose/hprose-pecl/issues/1 - php 7
+- open https://github.com/hprose/hprose-pecl/issues/2 - i386 \ No newline at end of file