/[cvs]/nfo/php/libs/org.netfrag.glib/DataSource/Locator.php
ViewVC logotype

Diff of /nfo/php/libs/org.netfrag.glib/DataSource/Locator.php

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.27 by joko, Tue Mar 11 16:44:59 2003 UTC revision 1.32 by joko, Fri Apr 4 21:21:16 2003 UTC
# Line 24  Line 24 
24   * $Id$   * $Id$
25   *   *
26   * $Log$   * $Log$
27     * Revision 1.32  2003/04/04 21:21:16  joko
28     * new attributes in locator hash for rpc-connections: USER and PASS
29     *
30     * Revision 1.31  2003/03/28 06:46:00  joko
31     * new helper: 'function get_call'
32     *
33     * Revision 1.30  2003/03/28 03:02:50  joko
34     * propagating parameters for rpc-debugging and options here
35     *
36     * Revision 1.29  2003/03/18 02:01:47  joko
37     * minor update (mungling with phpDocumentor again)
38     *
39     * Revision 1.28  2003/03/18 01:52:33  joko
40     * minor update (mungling with phpDocumentor again)
41     *
42   * Revision 1.27  2003/03/11 16:44:59  joko   * Revision 1.27  2003/03/11 16:44:59  joko
43   * + fixed metadata for phpDocumentor   * + fixed metadata for phpDocumentor
44   *   *
# Line 115  Line 130 
130   * <b>Modes:</b> (these are proposals, more or less...)   * <b>Modes:</b> (these are proposals, more or less...)
131   * o Pass-Through-Reference: php Object will get passed through all layers   * o Pass-Through-Reference: php Object will get passed through all layers
132   * o Pass-Through-Memory: reference to a memory area will get used   * o Pass-Through-Memory: reference to a memory area will get used
133   * + Build-Locator: build locator from datasource-type and adapter-type   * + (x) Build-Locator: build locator from datasource-type and adapter-type
134   * o Use-Locator: directly use DataSource::Locator instance passed in   * o Use-Locator: directly use DataSource::Locator instance passed in
135   * o Merge-Locators: merge metadata of two or more DataSource::Locator instances   * o Merge-Locators: merge metadata of two or more DataSource::Locator instances
136   * o Build-AutoLocator: use global constants making up our metadata   * o Build-AutoLocator: use global constants making up our metadata
# Line 148  Line 163 
163   * This module takes care of the rest.   * This module takes care of the rest.
164   * Pass an array to the constructor: (e.g.)   * Pass an array to the constructor: (e.g.)
165   *   *
166   * <code>   * <pre>
167   *    // 1. for doing rpc-calls....   *    // 1. for doing rpc-calls....
168   *    $locator = array(   *    $locator = array(
169   *      datasource_type =>> 'rpc',   *      datasource_type => 'rpc',
170   *      [adapter_type => 'phpHtmlLib',]   *      [adapter_type => 'phpHtmlLib',]
171   *      metadata => array( Host => 'localhost', Port => '8765' ),   *      metadata => array( Host => 'localhost', Port => '8765' ),
172   *    );   *    );
173   *    $source = ne w DataSource::Generic($locator);   *    $source = ne w DataSource::Generic($locator);
174   *    $this->set_data_source( &$source );   *    $this->set_data_source( &$source );
175   * </code>   * </pre>
176   * <code>   * <pre>
177   *    // 2. [proposal] for common/oldschool datahandles....   *    // 2. [proposal] for common/oldschool datahandles....
178   *    $locator = array(   *    $locator = array(
179   *      dsn => 'known dsn markup',   *      dsn => 'known dsn markup',
180   *    );   *    );
181   *    $source = ne w DataSource::Generic($locator);   *    $source = ne w DataSource::Generic($locator);
182   *    $this->set_data_source( &$source );   *    $this->set_data_source( &$source );
183   * </code>   * </pre>
184   *   *
185   *   *
186   *   *
# Line 359  class DataSource_Locator { Line 374  class DataSource_Locator {
374    
375      function &get_metadata() {      function &get_metadata() {
376          //return ($this->_out);          //return ($this->_out);
377            //print Dumper($this->_metadata);
378          return $this->_metadata;          return $this->_metadata;
379      }      }
380    
381    
382    function build( ) {    function build( ) {
383    
384        //print "locator - build!<br/>";
385            
386      // trace      // trace
387        //print Dumper($this);        //print Dumper($this);
388        
389      $good = 0;      $good = 0;
390      switch ($this->_datasource_type) {      switch ($this->_datasource_type) {
391          
392          // TODO: dispatch Host, Port, User and Pass by transport here!!!
393        case 'rpc':        case 'rpc':
394          // get rpc connection information from global constants          // get rpc connection information from global constants
395          $metadata = array(          $metadata = array(
# Line 377  class DataSource_Locator { Line 397  class DataSource_Locator {
397            //package => 'DataSource::Proxy::XMLRPC',            //package => 'DataSource::Proxy::XMLRPC',
398            //package => 'DataSource::Generic',            //package => 'DataSource::Generic',
399            //package => 'DesignPattern::RemoteProxy',            //package => 'DesignPattern::RemoteProxy',
400            Host => RPC_HOSTNAME,            'Host' => RPC_HOSTNAME,
401            Port => RPC_PORT,            'Port' => RPC_PORT,
402              'DEBUG' => constants::get('RPC_DEBUG'),
403              'TRACE' => constants::get('RPC_TRACE'),
404              'DISCONNECT_ON_ERROR' => constants::get('RPC_DISCONNECT_ON_ERROR'),
405              // FIXME!!! 'ws_admin' is hardcoded here!!!
406              'USER' => $_SESSION[ws_admin][user],
407              'PASS' => $_SESSION[ws_admin][pass],
408          );          );
409          $good = 1;          $good = 1;
410          break;          break;
411      }      }
412            
413      if ($good) {      if ($good) {
414    
415          //print Dumper($metadata);
416                
417        // V1:        // V1:
418        /*        /*
# Line 416  class DataSource_Locator { Line 444  class DataSource_Locator {
444      return 1;      return 1;
445    }    }
446    
447          function get_call() {
448        return array(
449          method => $this->_call[_method],
450          args => $this->_call[_arguments],
451        );
452      }
453    
454  }  }
455    
456  ?>  ?>

Legend:
Removed from v.1.27  
changed lines
  Added in v.1.32

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed