ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
ilRPCServerAdapter Class Reference
+ Inheritance diagram for ilRPCServerAdapter:
+ Collaboration diagram for ilRPCServerAdapter:

Public Member Functions

 ilRPCServerAdapter ()
 
 setResponseTimeout ($a_response_timeout)
 
send ()
 Send message to remote rpc server and get response. More...
 
 __checkPear ()
 
 __initClient ()
 Create RPC client object. More...
 
 __initMessage ($a_message_name, $params)
 Create RPC message object. More...
 

Data Fields

 $response_timeout = RPC_TIMEOUT
 
 $log = null
 
 $db = null
 
 $err = null
 
 $settings_obj = null
 
 $rpc_client = null
 
 $rpc_message = null
 

Detailed Description

Definition at line 37 of file class.ilRPCServerAdapter.php.

Member Function Documentation

◆ __checkPear()

ilRPCServerAdapter::__checkPear ( )

Definition at line 90 of file class.ilRPCServerAdapter.php.

91 {
92 if(!include_once('XML/RPC.php'))
93 {
94 $this->log->write('ilLuceneRPCAdapter(): Cannot find pear library XML_RPC. Aborting');
95 $this->err->raiseError("Cannot find pear package 'XML_RPC'. Aborting ",$this->err->MESSAGE);
96 }
97 return true;
98 }

Referenced by ilRPCServerAdapter().

+ Here is the caller graph for this function:

◆ __initClient()

ilRPCServerAdapter::__initClient ( )

Create RPC client object.

Settings are read from class RPCSServerSettings.

Returns
boolean success

@access protected

Definition at line 107 of file class.ilRPCServerAdapter.php.

108 {
109 include_once 'XML/RPC.php';
110
111 $this->rpc_client =& new XML_RPC_Client($this->settings_obj->getPath(),
112 $this->settings_obj->getHost(),
113 $this->settings_obj->getPort());
114 #$this->rpc_client->setDebug(1);
115
116 return true;
117 }

Referenced by ilLuceneRPCAdapter\send(), ilFO2PDF\send(), and ilHTML2PDF\send().

+ Here is the caller graph for this function:

◆ __initMessage()

ilRPCServerAdapter::__initMessage (   $a_message_name,
  $params 
)

Create RPC message object.

Parameters
stringmessage name. Something like 'Indexer.ilFileIndexer'
arrayof objects. Array of XML_RPC_Value objects. (Params of remote procedures)
Returns
boolean success

@access protected

Definition at line 129 of file class.ilRPCServerAdapter.php.

130 {
131 include_once 'XML/RPC.php';
132
133 $this->rpc_message =& new XML_RPC_Message($a_message_name,$params);
134
135 // We create the payload here since it might be quite time consuming
136 // and this could cause a socket read exception on the server side.
137 $this->rpc_message->createPayload();
138
139 return true;
140 }
$params
Definition: example_049.php:96

References $params.

Referenced by ilLuceneRPCAdapter\__prepareFlushIndex(), ilFO2PDF\__prepareFO2PDFParams(), ilLuceneRPCAdapter\__prepareHighlightParams(), ilHTML2PDF\__prepareHTML2PDFParams(), ilLuceneRPCAdapter\__prepareIndexFileParams(), ilLuceneRPCAdapter\__prepareIndexHTLMParams(), ilLuceneRPCAdapter\__preparePingParams(), ilLuceneRPCAdapter\__prepareQueryParams(), ilLuceneRPCAdapter\__prepareRefreshSettingsParams(), and ilLuceneRPCAdapter\__prepareSearchParams().

+ Here is the caller graph for this function:

◆ ilRPCServerAdapter()

ilRPCServerAdapter::ilRPCServerAdapter ( )

Definition at line 49 of file class.ilRPCServerAdapter.php.

50 {
51 global $ilLog,$ilDB,$ilErr;
52
53 $this->log =& $ilLog;
54 $this->db =& $ilDB;
55 $this->err =& $ilErr;
56
57 $this->__checkPear();
58
59 $this->settings_obj = ilRPCServerSettings::getInstance();
60 }
static getInstance()
Get singelton instance.
global $ilDB

References $ilDB, $ilErr, $ilLog, __checkPear(), and ilRPCServerSettings\getInstance().

+ Here is the call graph for this function:

◆ send()

& ilRPCServerAdapter::send ( )

Send message to remote rpc server and get response.

Returns
object result object. Type is depend on the calles method

@access protected

Reimplemented in ilLuceneRPCAdapter, ilFO2PDF, and ilHTML2PDF.

Definition at line 74 of file class.ilRPCServerAdapter.php.

75 {
76 include_once 'XML/RPC.php';
77 if(!$response =& $this->rpc_client->send($this->rpc_message,$this->response_timeout))
78 {
79 $this->log->write("ilRPCServerAdapter: Communication error");
80 return null;
81 }
82 if($response->faultCode())
83 {
84 $this->log->write("ilRPCServerAdapter: Communication error: ". $response->faultString());
85 return null;
86 }
87 return XML_RPC_decode($response->value());
88 }

◆ setResponseTimeout()

Field Documentation

◆ $db

ilRPCServerAdapter::$db = null

Definition at line 41 of file class.ilRPCServerAdapter.php.

◆ $err

ilRPCServerAdapter::$err = null

Definition at line 42 of file class.ilRPCServerAdapter.php.

◆ $log

ilRPCServerAdapter::$log = null

Definition at line 40 of file class.ilRPCServerAdapter.php.

◆ $response_timeout

ilRPCServerAdapter::$response_timeout = RPC_TIMEOUT

Definition at line 39 of file class.ilRPCServerAdapter.php.

◆ $rpc_client

ilRPCServerAdapter::$rpc_client = null

Definition at line 46 of file class.ilRPCServerAdapter.php.

◆ $rpc_message

ilRPCServerAdapter::$rpc_message = null

Definition at line 47 of file class.ilRPCServerAdapter.php.

◆ $settings_obj

ilRPCServerAdapter::$settings_obj = null

Definition at line 44 of file class.ilRPCServerAdapter.php.


The documentation for this class was generated from the following file: