/[cvs]/nfo/php/libs/org.netfrag.glib/Application/AbstractBackend.php
ViewVC logotype

Annotation of /nfo/php/libs/org.netfrag.glib/Application/AbstractBackend.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.9 - (hide annotations)
Mon Jul 5 22:30:38 2004 UTC (20 years ago) by joko
Branch: MAIN
CVS Tags: HEAD
Changes since 1.8: +6 -2 lines
fix: disabled caching in session

1 joko 1.1 <?
2 joko 1.7 /**
3     * This file contains the Application::AbstractBackend class.
4     *
5 joko 1.8 * It's another (the final) code wrapper around the RPC-XML
6     * transport-part. (DataSource::Generic, DesignPattern::RemoteProxy
7     * and DataSource::Handler::RPCXML).
8     * The php core remote methods are vivified here.
9     *
10 joko 1.7 * @author Andreas Motl <andreas.motl@ilo.de>
11     * @package org.netfrag.glib
12     * @name Application::AbstractBackend
13     *
14     */
15    
16    
17 joko 1.1 // ---------------------------------------------------------------------------
18 joko 1.9 // $Id: AbstractBackend.php,v 1.8 2003/04/04 21:17:27 joko Exp $
19 joko 1.1 // ---------------------------------------------------------------------------
20 jonen 1.2 // $Log: AbstractBackend.php,v $
21 joko 1.9 // Revision 1.8 2003/04/04 21:17:27 joko
22     // added comments
23     // + dummy method 'function getTopics' (prepared)
24     //
25 joko 1.8 // Revision 1.7 2003/03/10 22:58:48 joko
26     // + fixed metadata for phpDocumentor
27     //
28 joko 1.7 // Revision 1.6 2003/03/05 11:59:34 joko
29     // renamed method
30     //
31 joko 1.6 // Revision 1.5 2003/03/03 21:11:01 joko
32     // mungled the namespaces
33     //
34 joko 1.5 // Revision 1.4 2003/03/01 04:58:02 joko
35     // shifted four methods one more level to concreteness
36     //
37 joko 1.4 // Revision 1.3 2003/02/28 04:16:19 joko
38     // fix: getStatus now return status in bool
39     //
40 joko 1.3 // Revision 1.2 2003/02/27 14:37:56 jonen
41     // + added function 'saveObjectByGuid()'
42     //
43 jonen 1.2 // Revision 1.1 2003/02/22 16:19:38 joko
44     // + initial commit
45     //
46 joko 1.1 // ---------------------------------------------------------------------------
47    
48    
49 joko 1.7 /**
50     * --- Application::AbstractBackend
51     *
52     * @author Andreas Motl <andreas.motl@ilo.de>
53     * @package org.netfrag.glib
54     * @subpackage Application
55     * @name Application::AbstractBackend
56     *
57     */
58 joko 1.1 class Application_AbstractBackend {
59    
60     var $rpcinfo;
61    
62     function Application_AbstractBackend($rpcinfo) {
63     $this->rpcinfo = $rpcinfo;
64     // debug
65     //print Dumper($this->rpcinfo);
66     }
67    
68     function _remote_method() {
69     $arg_list = func_get_args();
70    
71     $command = array_shift($arg_list);
72    
73     $cache_key = join("-", array(session_id(), $command, join('_', $arg_list) ));
74     //print "cache_key: $cache_key<br>";
75    
76     // FIXME: what if arg_list still contains more elements after doing this?
77     $query = array_shift($arg_list);
78    
79     // -------------------- clone this & modify ----------
80     $rpcinfo = $this->rpcinfo;
81     //$rpcinfo[to_latin] = 1; // FIXME! implement this into Data::Driver::RPC::Remote!
82 joko 1.9 $resultHandle = mkObject('DesignPattern::RemoteProxy', $cache_key, array( key => 1, command => $command, query => $query, remote => 1, rpcinfo => $rpcinfo, cache => array( db => 0, session => 0 ) ) );
83 joko 1.6 $result = $resultHandle->getResult();
84     //print Dumper($result); exit;
85 joko 1.1 return $result;
86     // -------------------- clone this & modify ----------
87    
88     }
89    
90     function getStatus() {
91     global $app;
92 joko 1.5 $proxy = mkObject('DesignPattern::RemoteProxy', null, array( remote => 1, rpcinfo => $app->getConfig("rpcinfo") ) );
93 joko 1.3 return $proxy->backend->isConnected();
94 joko 1.1 }
95 joko 1.3
96 joko 1.1 function forceConnect() {
97     global $app;
98     //print Dumper($app);
99 joko 1.5 $proxy = mkObject('DesignPattern::RemoteProxy', null, array( remote => 1, rpcinfo => $app->getConfig("rpcinfo"), connect => 1 ) );
100 joko 1.1 //print Dumper($proxy);
101     $proxy->backend->ping();
102     $status_bool = $proxy->backend->isConnected();
103     $status_yesno = $status_bool ? 'yes' : 'no';
104     return $status_yesno;
105     }
106 joko 1.8
107     // TODO:
108     function getTopics($arg1) {
109     return $this->_remote_method('getTopics', $arg1);
110     }
111    
112 joko 1.1 }
113    
114     ?>

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