All Downloads are FREE. Search and download functionalities are using the official Maven repository.

joynr.GlobalCapabilitiesDirectory.fidl Maven / Gradle / Ivy

There is a newer version: 1.25.0
Show newest version
/*
 * #%L
 * %%
 * Copyright (C) 2011 - 2016 BMW Car IT GmbH
 * %%
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * #L%
 */
package infrastructure

import types.* from "DiscoveryTypes.fidl"

<**
	@description: The GlobalCapabilitiesDirectory is a joynr
	internal interface. The joynr framework uses it to register
	providers, which are available at a global scope, with the backend.
	A provider is registered along with parameters which will be used
	during the arbitration process to select a suitable provider for
	a proxy. These information are stored in GlobalDiscoveryEntry objects.
	@see: GlobalDiscoveryEntry
**>
interface GlobalCapabilitiesDirectory{

	version {major 0 minor 1}

	<**
		@description: Registers several providers with the backend.
	**>
	method add {
		in {
			<**
				@description: A list which stores information about each provider instance
				that shall be registered with the backend.
				@see: GlobalDiscoveryEntry
			**>
			GlobalDiscoveryEntry[] globalDiscoveryEntries
		}
	}

	<** @description: Registers a single provider with the backend. **>
	method add {
		in {
			<**
				@description: Information about the provider which shall be registered with
				the backend.
				@see: GlobalDiscoveryEntry
			**>
			GlobalDiscoveryEntry globalDiscoveryEntry
		}
	}

	<**
		@description: Looks up a list of providers for a domain and an interface name. The domain
		and interface name correspond to the attributes stored in GlobalDiscoveryEntry.
		@see: GlobalDiscoveryEntry
	**>
	method lookup {
		in {
			<** @description: Domain names for which providers shall be returned. **>
			String[] domains
			<** @description: The name of the requested provider interface. **>
			String interfaceName
		}

		out {
			<** @description: Information about all providers which were found for the given
			domain and interface name.
			**>
			GlobalDiscoveryEntry[] result
		}
	}

	<**
		@description: Looks up a provider for a given participant Id.
	**>
	method lookup {
		in {
			<** @description: The participant Id which identifies the requested provider. **>
			String participantId
		}
		out{
			<** @description: Information about the found provider. **>
			GlobalDiscoveryEntry result
		}
	}
	<**
		@description: Unregisters providers from the backend.
	**>
	method remove {
		in {
			<**
				@description: The participand Ids which identify the providers that shall be removed
				from the backend.
			**>
			String[] participantIds
		}
	}

	<**
		@description: Unregisters a provider from the backend.
	**>
	method remove {
		in {
			<**
				@description: The participant Id which identifies the provider that shall be removed
            from the backend.
			**>
			String participantId
		}
	}

	<**
		@description: Updates the last seen date for a specific cluster controller.
	**>
	method touch {
		in {
			<**
				@description: Identifies the cluster controller for which the last
				seen date shall be updated.
			**>
			String clusterControllerId
		}
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy