|
From: justinwatkins <jus...@us...> - 2003-02-21 00:04:01
|
CVS commit by justinwatkins: 1. Greatly modified the Executive to change how the registered method works, as well as change how the loading of the class works. There is now a basic class named RemotingService that dynamically extends the designated class. This done to add some additional functionality for the Flash Service Browser and some other possible future implementations. 2. Now the service classes HAVE to have a constructor. And in the constructor they must define a $this->methodTable array. The array contains a list of any methods that are to be enabled or described. All methods are now disabled from flash remoting by default and you have to explicity define a method's access as remote. 3. I also changed how the registered version worked. Before registered classes became VERY AMF specific. They always generated AMF regardless of where you called them. I changed the model so there is now an instance name negotiation. If the gateway is set to safeExecution mode, the executive will check to see if the gateway's name (set with setInstanceName) is the same as the service class method's instance name. See the example files. Also if a service method has an instance name defined, the discovery gateway will NOT be able to use it. I think this accomplishes all of the needs by the registered service. It definitely makes the classes created for remoting much more versatile. Now there is nothing remoting specific other than the methodTable array, in either the registered and discovery mode classes. BTW, most of these ideas were developed by John. He has spent a ton of time trying to make the classes developed for remoting more flexible. He originally had each class inheriting from the RemotingService class. I added the dynamic subclassing instead and the methodTable in the constructor. As well as the support for the registered approach via instance names. Justin A sources/flashservices/app/Gateway.php 1.1 M +201 -195 sources/flashservices/app/Executive.php 1.2 |