/*
 * Copyright (c) OSGi Alliance (2013). All Rights Reserved.
 * 
 * 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.
 */


package org.osgi.service.enocean.sets;

import org.osgi.service.enocean.EnOceanMessage;


/**
 * This interface represents an EnOcean Message Set.
 * {@link EnOceanMessageSet} is registered as an OSGi Service.
 * Provides method to retrieve the {@link EnOceanMessage} objects
 * it documents.
 * 
 * @version 1.0
 * @author Victor Perron <victor.perron@orange.fr>
 */
public interface EnOceanMessageSet {
	
	public final static String	VERSION				= "message.set.version";

	public final static String	PROVIDER_ID			= "message.set.provider_id";

	/**
	 * Retrieves a {@link Class} object according to its identifiers.
	 * You can then use this class reference to build new, dedicated
	 * {@link EnOceanMessage} objects.
	 * See EnOcean Equipment Profile Specification for more details.
	 * 
	 * @param rorg the radio telegram type of the message.
	 * @param func The func subtype of this message.
	 * @param type The type supselector.
	 * @param extra Some extra information; some {@link EnOceanMessage} 
	 * objects need an additional specifier.
	 * 
	 * If the specified profile does not need 'extra' info, this parameter
	 * will be ignored.
	 * 
	 * @return The {@link Class} object looked for, or null.
	 */
	public Class getMessage(int rorg, int func, int type, int extra);

}

@@ -1186,37 +1186,46 @@
 rieves a %7B@link 
-Class
+EnOceanMessage
 %7D object accordi
@@ -1251,110 +1251,8 @@
 rs.%0A
-%09 * You can then use this class reference to build new, dedicated%0A%09 * %7B@link EnOceanMessage%7D objects.%0A
 %09 * 
@@ -1578,111 +1578,8 @@
 er.%0A
-%09 * %0A%09 * If the specified profile does not need 'extra' info, this parameter%0A%09 * will be ignored.%0A%09 * %0A
 %09 * 
@@ -1597,21 +1597,30 @@
  %7B@link 
-Class
+EnOceanMessage
 %7D object
@@ -1658,13 +1658,22 @@
 lic 
-Class
+EnOceanMessage
  get
@@ -1684,18 +1684,20 @@
 age(
-in
+shor
 t rorg, 
 int 
@@ -1696,18 +1696,20 @@
 rg, 
-in
+shor
 t func, 
 int 
@@ -1708,18 +1708,20 @@
 nc, 
-in
+shor
 t type, 
 int 
@@ -1716,18 +1716,20 @@
 t type, 
-in
+shor
 t extra)

Revert "EnOceanMessageSet return Class instead of instance"