Hello All - I am trying to create a MediaRenderer using the examples and documentation. I am a new cling user, so am trying to get to grips with some obvious stuff (sorry in advance on this)...
One task I need to do is create a custom UpnpAction that follows the allowed naming convention [Extract from uPnP DeviceArchitecture 1.1]
<action> <name> REQUIRED. Name of action. MUST NOT contain a hyphen character (“-”, 2D Hex in UTF-8) nor a hash character (“#”, 23 Hex in UTF-8). Case sensitive. First character MUST be a USASCII letter (“A”-“Z”, “a”-“z”), USASCII digit (“0”-“9”), an underscore (“_”), or a non-experimental Unicode letter or digit greater than U+007F. Succeeding characters MUST be a USASCII letter (“A”-“Z”, “a”-“z”), USASCII digit (“0”-“9”), an underscore (“_”), a period (“.”), a Unicode combiningchar, an extender, or a non-experimental Unicode letter or digit greater than U+007F. The first three letters MUST NOT be “XML” in any combination of case.
uh, the UPnP spec has nothing to say about Java, and therefore has no requirements with regard to the name of the Java class that implements the action. The name UPnP cares for is given in the string constructor parameter, like in
well, I cannot get into too much details here as I have never used the annotations myself. What I can say from a generic UPnP standpoint is that a an action is always defined on a service. There is a UpnpService annotation, so I assume that has to be tacked onto the containing class with a serviceId attribute. Cling will most likely generate everything else correctly for you, so you will not have to create names with dot notation. I.e., if you have a class marked with @UpnpService(serviceId="My"), and a method therein named doit, marked as @UpnpAction, Cling will publish this as "My.doit". Just speculating, however.
No - The manual is very detailed and very useful when you know what to look for. But I do struggling in finding stuff using the Web Browser - Index and class Identification is great.
I am not sure if I am the only one struggling to find stuff - but I did look for it - for over 1 day. I was using the API documentation and I did not find a way to search it. Is the idea that we download the full source repro and then do a linux find or grep ? Is there an obvious way of finding things ? Please do advise as I think I may not be the only one who struggles in finding stuff.
Good to discuss this to help others who may struggle - So if there is a way to drive the Manual - please lets have a sticky post.