- From: Jean-Claude Dufourd <jean-claude.dufourd@telecom-paristech.fr>
- Date: Fri, 15 Apr 2011 13:58:00 +0200
- To: public-web-and-tv@w3.org
- Message-ID: <4DA832C8.2000500@telecom-paristech.fr>
Here is my take on an interface, difficult to split in discovery and
communication.
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:
>
> http://www.w3.org/2011/webtv/wiki/Alternatives
>
> 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