ILIAS  release_5-0 Revision 5.0.0-1144-gc4397b1f870
All Data Structures Namespaces Files Functions Variables Modules Pages
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.

Referenced by ilRPCServerAdapter().

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  }
+ Here is the caller graph for this function:

◆ __initClient()

ilRPCServerAdapter::__initClient ( )

Create RPC client object.

Settings are read from class RPCSServerSettings.

Returns
boolean success

protected

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

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

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  }
+ 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

protected

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

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

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  }
+ Here is the caller graph for this function:

◆ ilRPCServerAdapter()

ilRPCServerAdapter::ilRPCServerAdapter ( )

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

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

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  }
global $ilDB
static getInstance()
Get singelton instance.
+ 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

protected

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: