blob: ed426464f8bf87466c2b637fb4db20548b4f446b [file] [log] [blame]
package org.eclipse.osee.ote.internal;
import org.eclipse.osee.ote.message.event.OteEventMessageUtil;
import org.eclipse.osee.ote.message.interfaces.IRemoteMessageService;
import org.eclipse.osee.ote.remote.messages.AVAILABLE_PHYSICAL_TYPES_REQ;
import org.eclipse.osee.ote.remote.messages.GET_INET_ADDRESS_REQ;
import org.eclipse.osee.ote.remote.messages.STOP_RECORDING_CMD;
import org.eclipse.osee.ote.remote.messages.SerializedRecordCommandMessage;
import org.eclipse.osee.ote.remote.messages.SerializedSetElementMessage;
import org.eclipse.osee.ote.remote.messages.SerializedSubscribeToMessage;
import org.eclipse.osee.ote.remote.messages.SerializedUnSubscribeMessage;
import org.eclipse.osee.ote.remote.messages.SerializedZeroizeElementMessage;
import org.osgi.framework.ServiceRegistration;
import org.osgi.service.event.EventAdmin;
import org.osgi.service.event.EventHandler;
public class RemoteMessageServiceHandler {
private EventAdmin eventAdmin;
private IRemoteMessageService messageService;
private ServiceRegistration<EventHandler> addressResponseReg;
private ServiceRegistration<EventHandler> availablePhysicalTypesReg;
private ServiceRegistration<EventHandler> subscribeToMessageReg;
private ServiceRegistration<EventHandler> unsubscribeToMessageReg;
private ServiceRegistration<EventHandler> recordReg;
private ServiceRegistration<EventHandler> setElementReg;
private ServiceRegistration<EventHandler> zeroizeElementReg;
private ServiceRegistration<EventHandler> stopRecordReg;
/**
* osgi
*/
public void bindEventAdmin(EventAdmin eventAdmin){
this.eventAdmin = eventAdmin;
}
/**
* osgi
*/
public void unbindEventAdmin(EventAdmin eventAdmin){
this.eventAdmin = null;
}
/**
* osgi
*/
public void bindIRemoteMessageService(IRemoteMessageService messageService){
this.messageService = messageService;
}
/**
* osgi
*/
public void unbindIRemoteMessageService(IRemoteMessageService messageService){
this.messageService = null;
}
/**
* osgi
*/
public void start(){
addressResponseReg = OteEventMessageUtil.subscribe(GET_INET_ADDRESS_REQ.TOPIC, new AddressResponseListener(eventAdmin, messageService));
availablePhysicalTypesReg = OteEventMessageUtil.subscribe(AVAILABLE_PHYSICAL_TYPES_REQ.TOPIC, new PhysicalTypesResponceListener(eventAdmin, messageService));
subscribeToMessageReg = OteEventMessageUtil.subscribe(SerializedSubscribeToMessage.EVENT, new SubscriptionCommandListener(eventAdmin, messageService));
unsubscribeToMessageReg = OteEventMessageUtil.subscribe(SerializedUnSubscribeMessage.EVENT, new UnSubscribeCommandListener(eventAdmin, messageService));
recordReg = OteEventMessageUtil.subscribe(SerializedRecordCommandMessage.EVENT, new RecordCommandListener(eventAdmin, messageService));
setElementReg = OteEventMessageUtil.subscribe(SerializedSetElementMessage.EVENT, new SetElementCommandListener(eventAdmin, messageService));
zeroizeElementReg = OteEventMessageUtil.subscribe(SerializedZeroizeElementMessage.EVENT, new ZeroizeElementCommandListener(eventAdmin, messageService));
stopRecordReg = OteEventMessageUtil.subscribe(STOP_RECORDING_CMD.TOPIC, new StopRecordCommandListener(eventAdmin, messageService));
}
/**
* osgi
*/
public void stop(){
addressResponseReg.unregister();
availablePhysicalTypesReg.unregister();
subscribeToMessageReg.unregister();
unsubscribeToMessageReg.unregister();
recordReg.unregister();
setElementReg.unregister();
zeroizeElementReg.unregister();
stopRecordReg.unregister();
}
}