blob: 08a41452b603fc0c43a1653fc70bd5c3c986b26e [file] [log] [blame]
/*******************************************************************************
* Copyright (C) 2021 the Eclipse BaSyx Authors
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
* which is available at https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
******************************************************************************/
package org.eclipse.basyx.wrapper.receiver;
import java.util.Set;
import org.eclipse.basyx.wrapper.receiver.configuration.PropertyConfiguration;
/**
* Interface for a property service to get and set properties
*
* @author espen
*
*/
public interface IPropertyWrapperService {
/**
* Adds a property configuration to the service
*
* @param config
*/
public void addPropertyConfig(PropertyConfiguration config);
/**
* Returns a list of valid properties that have been configured
*/
public Set<String> getValidProperties();
/**
* Gets the current result for a property
*
* @param propId
* @return
*/
public PropertyResult getPropertyValue(String propId);
/**
* Explicitely generates a new value for a passive property.
*
* @param propId
* @return
*/
public void generatePassiveValue(String propId);
/**
* Sets a remote data point to a new value
*
* @param propId
* @param newValue
*/
public void setPropertyValue(String propId, Object newValue);
public void addProxyListener(IWrapperListener listener);
/**
* Start collecting data for all active properties
*/
public void start();
/**
* Stop collecting data for all active properties
*/
public void stop();
}