cvs commit: p5ee/App-Context/lib/App CallDispatcher.pm

[email protected] (Stephen Adkins)
Newsgroups perl.cvs.p5ee
Message-ID <[email protected]>
cvsuser     04/02/27 06:12:22

  Modified:    App-Context/lib/App CallDispatcher.pm
  Log:
  default call dispatcher is now a real local dispatcher, calling $context->call() on the local context
  
  Revision  Changes    Path
  1.4       +17 -12    p5ee/App-Context/lib/App/CallDispatcher.pm
  
  Index: CallDispatcher.pm
  ===================================================================
  RCS file: /cvs/public/p5ee/App-Context/lib/App/CallDispatcher.pm,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -w -r1.3 -r1.4
  --- CallDispatcher.pm	22 Mar 2003 04:04:34 -0000	1.3
  +++ CallDispatcher.pm	27 Feb 2004 14:12:22 -0000	1.4
  @@ -1,6 +1,6 @@
   
   #############################################################################
  -## $Id: CallDispatcher.pm,v 1.3 2003/03/22 04:04:34 spadkins Exp $
  +## $Id: CallDispatcher.pm,v 1.4 2004/02/27 14:12:22 spadkins Exp $
   #############################################################################
   
   package App::CallDispatcher;
  @@ -46,7 +46,7 @@
   
   =item * Class: App::CallDispatcher
   
  -=item * Class: App::CallDispatcher::Local
  +=item * Class: App::CallDispatcher::HTTPSimple
   
   =item * Class: App::CallDispatcher::SOAP
   
  @@ -111,25 +111,30 @@
   
   =head2 call()
   
  -    * Signature: $call_dispatcher->call($request, $response);
  -    * Signature: $response = $call_dispatcher->call($request);
  -    * Signature: $response = $call_dispatcher->call(%named);
  -    * Param:     $request           ref   [in]
  -    * Param:     $response          ref   [out]
  -    * Return:    $response          ref
  +    * Signature: @returnvals = $call_dispatcher->call($service, $name, $method, $args);
  +    * Param:     $service           string  [in]
  +    * Param:     $name              string  [in]
  +    * Param:     $method            string  [in]
  +    * Param:     $args              ARRAY   [in]
  +    * Return:    @returnvals        any
       * Throws:    App::Exception::CallDispatcher
       * Since:     0.01
   
       Sample Usage: 
   
  -    $call_dispatcher->call($request, $response);
  -    $response = $call_dispatcher->call($request);
  -    $response = $call_dispatcher->call(%named);
  +    @returnvals = $call_dispatcher->call("Repository","db",
  +        "get_rows",["city",{city_cd=>"LAX"},["city_cd","state","country"]]);
  +
  +The default call dispatcher is a local call dispatcher.
  +It simply passes the call() on to the local context for execution.
  +It results in an in-process method call rather than a remote method call.
   
   =cut
   
   sub call {
  -    my $self = shift;
  +    my ($self, $service, $name, $method, $args) = @_;
  +    my $context = $self->{context};
  +    my @returnvals = $context->call($service, $name, $method, $args);
   }
   
   #############################################################################
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.