/*----- PROTECTED REGION ID(UserEventTest.java) ENABLED START -----*/ //============================================================================= // // file : UserEventTest.java // // description : Java source for the UserEventTest class and its commands. // The class is derived from Device. It represents the // CORBA servant object which will be accessed from the // network. All commands which can be executed on the // UserEventTest are implemented in this file. // // project : // // This file is part of Tango device class. // // Tango is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // Tango is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with Tango. If not, see . // // $Author: $ // // $Revision: $ // $Date: $ // // $HeadURL: $ // //============================================================================= // This file is generated by POGO // (Program Obviously used to Generate tango Object) //============================================================================= /*----- PROTECTED REGION END -----*/ // UserEventTest.java package org.tango.usereventtest; /*----- PROTECTED REGION ID(UserEventTest.imports) ENABLED START -----*/ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.slf4j.ext.XLogger; import org.slf4j.ext.XLoggerFactory; import org.tango.DeviceState; import org.tango.server.InvocationContext; import org.tango.server.ServerManager; import org.tango.server.annotation.AroundInvoke; import org.tango.server.annotation.Attribute; import org.tango.server.annotation.AttributeProperties; import org.tango.server.annotation.ClassProperty; import org.tango.server.annotation.Command; import org.tango.server.annotation.Delete; import org.tango.server.annotation.Device; import org.tango.server.annotation.DeviceManagement; import org.tango.server.annotation.DeviceProperty; import org.tango.server.annotation.DynamicManagement; import org.tango.server.annotation.Init; import org.tango.server.annotation.State; import org.tango.server.annotation.StateMachine; import org.tango.server.annotation.Status; import org.tango.server.device.DeviceManager; import org.tango.server.dynamic.DynamicManager; import org.tango.server.events.EventType; import org.tango.utils.DevFailedUtils; // Import Tango IDL types import fr.esrf.Tango.*; import fr.esrf.TangoApi.events.TangoChange; import org.tango.server.attribute.AttributeValue; /*----- PROTECTED REGION END -----*/ // UserEventTest.imports /** * UserEventTest class description: * */ @Device public class UserEventTest { private static final Logger logger = LoggerFactory.getLogger(UserEventTest.class); private static final XLogger xlogger = XLoggerFactory.getXLogger(UserEventTest.class); //======================================================== // Programmer's data members //======================================================== /*----- PROTECTED REGION ID(UserEventTest.variables) ENABLED START -----*/ // Put static variables here /*----- PROTECTED REGION END -----*/ // UserEventTest.variables /*----- PROTECTED REGION ID(UserEventTest.private) ENABLED START -----*/ // Put private variables here @DeviceManagement DeviceManager deviceManager; /*----- PROTECTED REGION END -----*/ // UserEventTest.private //======================================================== // Property data members and related methods //======================================================== //======================================================== // Miscellaneous methods //======================================================== /** * Initialize the device. * * @throws DevFailed if something fails during the device initialization. */ @Init(lazyLoading = false) public final void initDevice() throws DevFailed { xlogger.entry(); logger.debug("init"); /*----- PROTECTED REGION ID(UserEventTest.initDevice) ENABLED START -----*/ // Put your device initialization code here this.number=0; /*----- PROTECTED REGION END -----*/ // UserEventTest.initDevice xlogger.exit(); } /** * all resources may be closed here. Collections may be also cleared. * * @throws DevFailed if something fails during the device object delation. */ @Delete public final void deleteDevice() throws DevFailed { xlogger.entry(); /*----- PROTECTED REGION ID(UserEventTest.deleteDevice) ENABLED START -----*/ // Put your device clearing code here /*----- PROTECTED REGION END -----*/ // UserEventTest.deleteDevice xlogger.exit(); } /** * Method called before and after command and attribute calls. * @param ctx the invocation context * @throws DevFailed if something fails during the this method execution. */ @AroundInvoke public final void aroundInvoke(final InvocationContext ctx) throws DevFailed { xlogger.entry(ctx); /*----- PROTECTED REGION ID(UserEventTest.aroundInvoke) ENABLED START -----*/ // Put aroundInvoke code here /*----- PROTECTED REGION END -----*/ // UserEventTest.aroundInvoke xlogger.exit(); } /** * dynamic command and attribute management. Will be injected by the framework. */ @DynamicManagement private DynamicManager dynamicManager; /** * @param dynamicManager the DynamicManager instance */ public void setDynamicManager(final DynamicManager dynamicManager) { this.dynamicManager = dynamicManager; /*----- PROTECTED REGION ID(UserEventTest.setDynamicManager) ENABLED START -----*/ // Put your code here /*----- PROTECTED REGION END -----*/ // UserEventTest.setDynamicManager } //======================================================== // Attribute data members and related methods //======================================================== /** * Attribute Number, double, Scalar, READ_WRITE * description: * */ @Attribute(name="Number") private double number; /** * Read attribute Number * * @return attribute value */ public double getNumber() { xlogger.entry(); /*----- PROTECTED REGION ID(UserEventTest.getNumber) ENABLED START -----*/ // Put read attribute code here /*----- PROTECTED REGION END -----*/ // UserEventTest.getNumber xlogger.exit(); return number; } /** * Write attribute Number * @param number value to write * @throws DevFailed */ public void setNumber(double number) throws DevFailed{ xlogger.entry(); /*----- PROTECTED REGION ID(UserEventTest.setNumber) ENABLED START -----*/ // Put write attribute code here this.number = number; if(number == 13){ this.number = number; deviceManager.pushEvent("number", new AttributeValue(getNumber()), EventType.USER_EVENT); } /*----- PROTECTED REGION END -----*/ // UserEventTest.setNumber xlogger.exit(); } //======================================================== // Command data members and related methods //======================================================== /** * The state of the device */ @State private DevState state = DevState.UNKNOWN; /** * Execute command "State". * description: This command gets the device state (stored in its 'state' data member) and returns it to the caller. * @return Device state * @throws DevFailed if command execution failed. */ public final DevState getState() throws DevFailed { /*----- PROTECTED REGION ID(UserEventTest.getState) ENABLED START -----*/ // Put state code here /*----- PROTECTED REGION END -----*/ // UserEventTest.getState return state; } /** * Set the device state * @param state the new device state */ public void setState(final DevState state) { this.state = state; } /** * The status of the device */ @Status private String status = "Server is starting. The device state is unknown"; /** * Execute command "Status". * description: This command gets the device status (stored in its 'status' data member) and returns it to the caller. * @return Device status * @throws DevFailed if command execution failed. */ public final String getStatus() throws DevFailed { /*----- PROTECTED REGION ID(UserEventTest.getStatus) ENABLED START -----*/ // Put status code here /*----- PROTECTED REGION END -----*/ // UserEventTest.getStatus return status; } /** * Set the device status * @param status the new device status */ public void setStatus(final String status) { this.status = status; } //======================================================== // Programmer's methods //======================================================== /*----- PROTECTED REGION ID(UserEventTest.methods) ENABLED START -----*/ // Put your own methods here public void setDeviceManager(final DeviceManager deviceManager) { this.deviceManager = deviceManager; } /*----- PROTECTED REGION END -----*/ // UserEventTest.methods /** * Starts the server. * @param args program arguments (instance_name [-v[trace level]] [-nodb [-dlist ] [-file=fileName]]) */ public static void main(final String[] args) { ServerManager.getInstance().start(args, UserEventTest.class); System.out.println("------- Started -------------"); } }