Skip to content
Snippets Groups Projects
SimulatedE2PSStateMachine.cpp 10.8 KiB
Newer Older
Claudio Scafuri's avatar
Claudio Scafuri committed
/*----- PROTECTED REGION ID(SimulatedE2PSStateMachine.cpp) ENABLED START -----*/
/* clang-format on */
//=============================================================================
//
// file :        SimulatedE2PSStateMachine.cpp
//
// description : State machine file for the SimulatedE2PS class
//
// project :     SimulatedE2PS
//
// 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 <http://www.gnu.org/licenses/>.
//
//
//
//=============================================================================
//                This file is generated by POGO
//        (Program Obviously used to Generate tango Object)
//=============================================================================

#include "SimulatedE2PS.h"

/* clang-format off */
/*----- PROTECTED REGION END -----*/	//	SimulatedE2PS::SimulatedE2PSStateMachine.cpp

//================================================================
//  States   |  Description
//================================================================
//  UNKNOWN  |  initialization failed or incomlete
//  ON       |  power supply on
//  FAULT    |  power supply in fault - not sourcing cuurent
//  RUNNING  |  magnet cycling running
//  MOVING   |  output current changing
//  OFF      |  power supply off , not sourcing current


namespace SimulatedE2PS_ns
{
//=================================================
//		Attributes Allowed Methods
//=================================================

//--------------------------------------------------------
/**
 *	Method     : SimulatedE2PS::is_current_allowed()
 *	Description: Execution allowed for current attribute
 */
//--------------------------------------------------------
bool SimulatedE2PS::is_current_allowed(TANGO_UNUSED(Tango::AttReqType type))
{
	//	Check access type.
	if ( type!=Tango::READ_REQ )
	{
		//	Compare device state with not allowed states for WRITE
		if (get_state()==Tango::UNKNOWN ||
			get_state()==Tango::FAULT ||
			get_state()==Tango::RUNNING ||
			get_state()==Tango::MOVING ||
			get_state()==Tango::OFF)
		{
		/*----- PROTECTED REGION ID(SimulatedE2PS::currentStateAllowed_WRITE) ENABLED START -----*/
	/* clang-format on */
	/* clang-format off */
	/*----- PROTECTED REGION END -----*/	//	SimulatedE2PS::currentStateAllowed_WRITE
			return false;
		}
		return true;
	}
	else

	//	Check access type.
	if ( type==Tango::READ_REQ )
	{
		//	Compare device state with not allowed states for READ
		if (get_state()==Tango::UNKNOWN ||
			get_state()==Tango::FAULT)
		{
		/*----- PROTECTED REGION ID(SimulatedE2PS::currentStateAllowed_READ) ENABLED START -----*/
	/* clang-format on */
	/* clang-format off */
	/*----- PROTECTED REGION END -----*/	//	SimulatedE2PS::currentStateAllowed_READ
			return false;
		}
		return true;
	}
	return true;
}

//--------------------------------------------------------
/**
 *	Method     : SimulatedE2PS::is_voltage_allowed()
 *	Description: Execution allowed for voltage attribute
 */
//--------------------------------------------------------
bool SimulatedE2PS::is_voltage_allowed(TANGO_UNUSED(Tango::AttReqType type))
{

	//	Check access type.
	if ( type==Tango::READ_REQ )
	{
		//	Compare device state with not allowed states for READ
		if (get_state()==Tango::UNKNOWN)
		{
		/*----- PROTECTED REGION ID(SimulatedE2PS::voltageStateAllowed_READ) ENABLED START -----*/
	/* clang-format on */
	/* clang-format off */
	/*----- PROTECTED REGION END -----*/	//	SimulatedE2PS::voltageStateAllowed_READ
			return false;
		}
		return true;
	}
	return true;
}

//--------------------------------------------------------
/**
 *	Method     : SimulatedE2PS::is_currentSet_allowed()
 *	Description: Execution allowed for currentSet attribute
 */
//--------------------------------------------------------
bool SimulatedE2PS::is_currentSet_allowed(TANGO_UNUSED(Tango::AttReqType type))
{

	//	Check access type.
	if ( type==Tango::READ_REQ )
	{
		//	Compare device state with not allowed states for READ
		if (get_state()==Tango::UNKNOWN)
		{
		/*----- PROTECTED REGION ID(SimulatedE2PS::currentSetStateAllowed_READ) ENABLED START -----*/
	/* clang-format on */
	/* clang-format off */
	/*----- PROTECTED REGION END -----*/	//	SimulatedE2PS::currentSetStateAllowed_READ
			return false;
		}
		return true;
	}
	return true;
}

//--------------------------------------------------------
/**
 *	Method     : SimulatedE2PS::is_CurrentRipple_allowed()
 *	Description: Execution allowed for CurrentRipple attribute
 */
//--------------------------------------------------------
bool SimulatedE2PS::is_CurrentRipple_allowed(TANGO_UNUSED(Tango::AttReqType type))
{
	//	Not any excluded states for CurrentRipple attribute in Write access.
	/*----- PROTECTED REGION ID(SimulatedE2PS::CurrentRippleStateAllowed_WRITE) ENABLED START -----*/
	/* clang-format on */
	/* clang-format off */
	/*----- PROTECTED REGION END -----*/	//	SimulatedE2PS::CurrentRippleStateAllowed_WRITE

	//	Not any excluded states for CurrentRipple attribute in read access.
	/*----- PROTECTED REGION ID(SimulatedE2PS::CurrentRippleStateAllowed_READ) ENABLED START -----*/
	/* clang-format on */
	/* clang-format off */
	/*----- PROTECTED REGION END -----*/	//	SimulatedE2PS::CurrentRippleStateAllowed_READ
	return true;
}

//--------------------------------------------------------
/**
 *	Method     : SimulatedE2PS::is_AddRipple_allowed()
 *	Description: Execution allowed for AddRipple attribute
 */
//--------------------------------------------------------
bool SimulatedE2PS::is_AddRipple_allowed(TANGO_UNUSED(Tango::AttReqType type))
{
	//	Not any excluded states for AddRipple attribute in Write access.
	/*----- PROTECTED REGION ID(SimulatedE2PS::AddRippleStateAllowed_WRITE) ENABLED START -----*/
	/* clang-format on */
	/* clang-format off */
	/*----- PROTECTED REGION END -----*/	//	SimulatedE2PS::AddRippleStateAllowed_WRITE

	//	Not any excluded states for AddRipple attribute in read access.
	/*----- PROTECTED REGION ID(SimulatedE2PS::AddRippleStateAllowed_READ) ENABLED START -----*/
	/* clang-format on */
	/* clang-format off */
	/*----- PROTECTED REGION END -----*/	//	SimulatedE2PS::AddRippleStateAllowed_READ
	return true;
}


//=================================================
//		Commands Allowed Methods
//=================================================

//--------------------------------------------------------
/**
 *	Method     : SimulatedE2PS::is_On_allowed()
 *	Description: Execution allowed for On attribute
 */
//--------------------------------------------------------
bool SimulatedE2PS::is_On_allowed(TANGO_UNUSED(const CORBA::Any &any))
{
	//	Compare device state with not allowed states.
	if (get_state()==Tango::UNKNOWN ||
		get_state()==Tango::FAULT)
	{
	/*----- PROTECTED REGION ID(SimulatedE2PS::OnStateAllowed) ENABLED START -----*/
	/* clang-format on */
	/* clang-format off */
	/*----- PROTECTED REGION END -----*/	//	SimulatedE2PS::OnStateAllowed
		return false;
	}
	return true;
}

//--------------------------------------------------------
/**
 *	Method     : SimulatedE2PS::is_Off_allowed()
 *	Description: Execution allowed for Off attribute
 */
//--------------------------------------------------------
bool SimulatedE2PS::is_Off_allowed(TANGO_UNUSED(const CORBA::Any &any))
{
	//	Compare device state with not allowed states.
	if (get_state()==Tango::UNKNOWN ||
		get_state()==Tango::FAULT)
	{
	/*----- PROTECTED REGION ID(SimulatedE2PS::OffStateAllowed) ENABLED START -----*/
	/* clang-format on */
	/* clang-format off */
	/*----- PROTECTED REGION END -----*/	//	SimulatedE2PS::OffStateAllowed
		return false;
	}
	return true;
}

//--------------------------------------------------------
/**
 *	Method     : SimulatedE2PS::is_Reset_allowed()
 *	Description: Execution allowed for Reset attribute
 */
//--------------------------------------------------------
bool SimulatedE2PS::is_Reset_allowed(TANGO_UNUSED(const CORBA::Any &any))
{
	//	Compare device state with not allowed states.
	if (get_state()==Tango::UNKNOWN)
	{
	/*----- PROTECTED REGION ID(SimulatedE2PS::ResetStateAllowed) ENABLED START -----*/
	/* clang-format on */
	/* clang-format off */
	/*----- PROTECTED REGION END -----*/	//	SimulatedE2PS::ResetStateAllowed
		return false;
	}
	return true;
}

//--------------------------------------------------------
/**
 *	Method     : SimulatedE2PS::is_StartCycling_allowed()
 *	Description: Execution allowed for StartCycling attribute
 */
//--------------------------------------------------------
bool SimulatedE2PS::is_StartCycling_allowed(TANGO_UNUSED(const CORBA::Any &any))
{
	//	Compare device state with not allowed states.
	if (get_state()==Tango::UNKNOWN ||
		get_state()==Tango::FAULT)
	{
	/*----- PROTECTED REGION ID(SimulatedE2PS::StartCyclingStateAllowed) ENABLED START -----*/
	/* clang-format on */
	/* clang-format off */
	/*----- PROTECTED REGION END -----*/	//	SimulatedE2PS::StartCyclingStateAllowed
		return false;
	}
	return true;
}

//--------------------------------------------------------
/**
 *	Method     : SimulatedE2PS::is_Abort_allowed()
 *	Description: Execution allowed for Abort attribute
 */
//--------------------------------------------------------
bool SimulatedE2PS::is_Abort_allowed(TANGO_UNUSED(const CORBA::Any &any))
{
	//	Compare device state with not allowed states.
	if (get_state()==Tango::UNKNOWN ||
		get_state()==Tango::FAULT)
	{
	/*----- PROTECTED REGION ID(SimulatedE2PS::AbortStateAllowed) ENABLED START -----*/
	/* clang-format on */
	/* clang-format off */
	/*----- PROTECTED REGION END -----*/	//	SimulatedE2PS::AbortStateAllowed
		return false;
	}
	return true;
}

//--------------------------------------------------------
/**
 *	Method     : SimulatedE2PS::is_Fault_allowed()
 *	Description: Execution allowed for Fault attribute
 */
//--------------------------------------------------------
bool SimulatedE2PS::is_Fault_allowed(TANGO_UNUSED(const CORBA::Any &any))
{
	//	Not any excluded states for Fault command.
	/*----- PROTECTED REGION ID(SimulatedE2PS::FaultStateAllowed) ENABLED START -----*/
	/* clang-format on */
	/* clang-format off */
	/*----- PROTECTED REGION END -----*/	//	SimulatedE2PS::FaultStateAllowed
	return true;
}


/*----- PROTECTED REGION ID(SimulatedE2PS::SimulatedE2PSStateAllowed.AdditionalMethods) ENABLED START -----*/
/* clang-format on */
//	Additional Methods
/* clang-format off */
/*----- PROTECTED REGION END -----*/	//	SimulatedE2PS::SimulatedE2PSStateAllowed.AdditionalMethods

}	//	End of namespace