no.ubicollab.osgi.service.discovery
Interface DiscoveryService

All Known Implementing Classes:
DiscoveryImpl

public interface DiscoveryService

An interface for the Discovery Service. Provides discovery service access to applications and other devices through web service calls.

Since:
0.9
Version:
0.9
Author:
Christian H. Mosveen

Method Summary
 java.lang.String[] getInfoAboutService(java.lang.String url)
          Gets all registered information about the specified service.
 java.lang.String getService(java.lang.String searchString)
          Searches for services in the database, and returns any matches.
 boolean registerService(java.lang.String url)
          Registers a service.
 boolean registerService(java.lang.String tagId, java.lang.String url)
          Registers a service.
 boolean registerService(java.lang.String tagId, java.lang.String uuId, java.lang.String name, java.lang.String type, java.lang.String protocol, java.lang.String descriptionUrl, java.lang.String serviceUrl, java.lang.String owner)
          Registers a service.
 boolean removeService(java.lang.String removeString)
          Removes all services matching the removeString.
 

Method Detail

getService

java.lang.String getService(java.lang.String searchString)
Searches for services in the database, and returns any matches.

Parameters:
searchString - tagId: uuId: name: type: protocol: descriptionUrl: serviceUrl: Any number of these flags may be present, but they must come in the right order. Example: "name:My Service type:no.ubicollab.service"
Returns:
The method returns either "Service is stopped", "No matching services", or a list of service/protocol pairs represented like this: "service1 protocol1 service2 protocol2"

getInfoAboutService

java.lang.String[] getInfoAboutService(java.lang.String url)
Gets all registered information about the specified service.

Parameters:
url - Either the descriptionUrl or the serviceUrl of the service.
Returns:
A String[] with a length of 10, with the fields: dbId, tagId, uuId, name, type, protocol, descriptionUrl, serviceUrl, owner, discovered.

registerService

boolean registerService(java.lang.String url)
Registers a service. Use this method if you have the URL to a WSDL-file or to the description XML of a UPnP service.

Parameters:
url - The descriptionUrl of the service.
Returns:
True if the service is successfully registered, false otherwise.

registerService

boolean registerService(java.lang.String tagId,
                        java.lang.String url)
Registers a service. Use this method if you have an RFID tag with the URL to a WSDL-file or to the description-XML of a UPnP service.

Parameters:
tagId - The id of the RFID tag scanned to get the service.
url - The descriptionUrl of the service.
Returns:
True if the service is successfully registered, false otherwise.

registerService

boolean registerService(java.lang.String tagId,
                        java.lang.String uuId,
                        java.lang.String name,
                        java.lang.String type,
                        java.lang.String protocol,
                        java.lang.String descriptionUrl,
                        java.lang.String serviceUrl,
                        java.lang.String owner)
Registers a service. Use this method if you have more information about the service that you want to add with it.

Parameters:
tagId - The id of the RFID tag scanned to get the service.
uuId - The id of the UPnP device providing the service.
name - The name of the service.
type - The service type.
protocol - The service protocol.
descriptionUrl - The URL describing the service (ie. the URL to a WSDL-file).
serviceUrl - The service URL of the service (ie. http://abc.com/axis/services/ubiService)
owner - The person owning the service.
Returns:
True if the service is successfully registered, false otherwise.

removeService

boolean removeService(java.lang.String removeString)
Removes all services matching the removeString.

Parameters:
removeString - tagId: uuId: name: type: protocol: descriptionUrl: serviceUrl: Any number of these flags may be present, but they must come in the right order. Example: "name:My Service type:no.ubicollab.service"
Returns:
True if any services are successfully removed, false otherwise.