Re: [HOME_NETWORK_TF] Implementation Alternatives

Here is my take on an interface, difficult to split in discovery and 
I adopt a structure closer to Dave's with callbacks. I introduce a 
method exposing a service to the outside, and a structured object for 
the message and its arguments.
I am not sure what syntax to use to declare attributes with a function 
as value (for callbacks).

interface HNControl {

         readonly attribute DOMString supportedProtocols[];

         // static list of supported protocols

         readonly attribute HNService discoveredServices[];

         // dynamic list of all discovered services in this session

         void activateServiceDiscovery(HNDiscoverer disc);

         // call this function with null to stop discovery

         HNService createService(protocol, name, type, description, HNMessage set[]);

         // this method creates a service provided by this "page"

         // the array of HNMessage defines the interface of the service

         // only the sendMessage and receiveMessage of the returned HNService are useful


interface HNDiscoverer {

         attribute function discoverService;

         // callback with one parameter of type HNService


interface HNService {

         readonly attribute DOMString name;

         readonly attribute DOMString type;

         readonly attribute DOMString address;

         readonly attribute DOMString description;

         integer sendMessage(HNMessage msg);

         attribute function receiveMessage;

         // callback with one parameter of type HNMessage

         attribute function serviceAvailability;

         // callback with one parameter of type Boolean


interface HNMessage {

         attribute DOMString name;

         attribute HNArg args[];


interface HNArg {

         attribute DOMString name;

         attribute Boolean isInput;

         attribute DOMString type;

         attribute DOMString value;


On 15/4/11 00:10 , Clarke Stevens wrote:
> I have posted a new document for implementation alternatives. The 
> purpose of the document is to provide example use cases and various 
> ways to implement the use cases. This is NOT intended as the 
> comprehensive use case list. It is meant to provide a few key use 
> cases that illustrate fundamental architectural examples and how they 
> would be implemented under various architectural models.
> My hope is that this will drive discussion and point out the relative 
> strengths and weaknesses of different approaches in order to guide us 
> to a good solution.
> You can find the document with a couple of initial examples here:
> You can also get to it from the "Open Discussions" link on the main 
> HNTF page.
> Thanks,
> -Clarke

JC Dufourd
Directeur d'Etudes/Professor
Groupe Multimedia/Multimedia Group
Traitement du Signal et Images/Signal and Image Processing
Telecom ParisTech, 37-39 rue Dareau, 75014 Paris, France
Tel: +33145817733 - Mob: +33677843843 - Fax: +33145817144

Received on Friday, 15 April 2011 11:58:26 UTC