""" Module: IDL:Tango:1.0

Automagically generated by:-

The ORB called Fnorb v1.1.Return.of.Fnorb

"""

_FNORB_ID = "IDL:Tango:1.0"

# Fnorb modules.
import Fnorb.orb.CORBA
import Fnorb.orb.TypeManager
import Fnorb.orb.Util

class Device_skel(Fnorb.orb.CORBA.Object_skel):
    """ Interface: IDL:Tango/Device:1.0 """

    _FNORB_ID = "IDL:Tango/Device:1.0"

    def _skel__get_name(self, server_request):
        """ Attribute: IDL:Tango/Device/name:1.0 """

        # Typecode for the attribute value.
        outputs = []
        outputs.append(Fnorb.orb.CORBA.TC_string)

        # Initialise the server request object.
        server_request.initialise([], outputs, [])

        # Invoke the implementation.
        results = self._get_name()

        # Create the reply.
        server_request.results(results)

        return

    def _skel__get_description(self, server_request):
        """ Attribute: IDL:Tango/Device/description:1.0 """

        # Typecode for the attribute value.
        outputs = []
        outputs.append(Fnorb.orb.CORBA.TC_string)

        # Initialise the server request object.
        server_request.initialise([], outputs, [])

        # Invoke the implementation.
        results = self._get_description()

        # Create the reply.
        server_request.results(results)

        return

    def _skel__get_state(self, server_request):
        """ Attribute: IDL:Tango/Device/state:1.0 """

        # Typecode for the attribute value.
        outputs = []
        outputs.append(Fnorb.orb.CORBA.typecode("IDL:Tango/DevState:1.0"))

        # Initialise the server request object.
        server_request.initialise([], outputs, [])

        # Invoke the implementation.
        results = self._get_state()

        # Create the reply.
        server_request.results(results)

        return

    def _skel__get_status(self, server_request):
        """ Attribute: IDL:Tango/Device/status:1.0 """

        # Typecode for the attribute value.
        outputs = []
        outputs.append(Fnorb.orb.CORBA.TC_string)

        # Initialise the server request object.
        server_request.initialise([], outputs, [])

        # Invoke the implementation.
        results = self._get_status()

        # Create the reply.
        server_request.results(results)

        return

    def _skel__get_adm_name(self, server_request):
        """ Attribute: IDL:Tango/Device/adm_name:1.0 """

        # Typecode for the attribute value.
        outputs = []
        outputs.append(Fnorb.orb.CORBA.TC_string)

        # Initialise the server request object.
        server_request.initialise([], outputs, [])

        # Invoke the implementation.
        results = self._get_adm_name()

        # Create the reply.
        server_request.results(results)

        return

    def _skel_command_inout(self, server_request):
        """ Operation: IDL:Tango/Device/command_inout:1.0 """

        # Typecodes for 'in' and 'inout' parameters.
        inputs = []
        inputs.append(Fnorb.orb.CORBA.TC_string)
        inputs.append(Fnorb.orb.CORBA.TC_any)

        # Typecodes for the result, 'inout' and 'out' parameters.
        outputs = []
        outputs.append(Fnorb.orb.CORBA.TC_any)

        # Typecodes for user exceptions.
        exceptions = []
        exceptions.append(Fnorb.orb.CORBA.typecode("IDL:Tango/DevFailed:1.0"))

        # Initialise the server request object.
        server_request.initialise(inputs, outputs, exceptions)

        # Unmarshal the arguments to the request.
        arguments = server_request.arguments()

        # Invoke the implementation.
        results = apply(self.command_inout, arguments)

        # Create the reply.
        server_request.results(results)

        return

    def _skel_get_attribute_config(self, server_request):
        """ Operation: IDL:Tango/Device/get_attribute_config:1.0 """

        # Typecodes for 'in' and 'inout' parameters.
        inputs = []
        inputs.append(Fnorb.orb.CORBA.typecode("IDL:Tango/DevVarStringArray:1.0"))

        # Typecodes for the result, 'inout' and 'out' parameters.
        outputs = []
        outputs.append(Fnorb.orb.CORBA.typecode("IDL:Tango/AttributeConfigList:1.0"))

        # Typecodes for user exceptions.
        exceptions = []
        exceptions.append(Fnorb.orb.CORBA.typecode("IDL:Tango/DevFailed:1.0"))

        # Initialise the server request object.
        server_request.initialise(inputs, outputs, exceptions)

        # Unmarshal the arguments to the request.
        arguments = server_request.arguments()

        # Invoke the implementation.
        results = apply(self.get_attribute_config, arguments)

        # Create the reply.
        server_request.results(results)

        return

    def _skel_set_attribute_config(self, server_request):
        """ Operation: IDL:Tango/Device/set_attribute_config:1.0 """

        # Typecodes for 'in' and 'inout' parameters.
        inputs = []
        inputs.append(Fnorb.orb.CORBA.typecode("IDL:Tango/AttributeConfigList:1.0"))

        # Typecodes for the result, 'inout' and 'out' parameters.
        outputs = []

        # Typecodes for user exceptions.
        exceptions = []
        exceptions.append(Fnorb.orb.CORBA.typecode("IDL:Tango/DevFailed:1.0"))

        # Initialise the server request object.
        server_request.initialise(inputs, outputs, exceptions)

        # Unmarshal the arguments to the request.
        arguments = server_request.arguments()

        # Invoke the implementation.
        results = apply(self.set_attribute_config, arguments)

        # Create the reply.
        server_request.results(results)

        return

    def _skel_read_attributes(self, server_request):
        """ Operation: IDL:Tango/Device/read_attributes:1.0 """

        # Typecodes for 'in' and 'inout' parameters.
        inputs = []
        inputs.append(Fnorb.orb.CORBA.typecode("IDL:Tango/DevVarStringArray:1.0"))

        # Typecodes for the result, 'inout' and 'out' parameters.
        outputs = []
        outputs.append(Fnorb.orb.CORBA.typecode("IDL:Tango/AttributeValueList:1.0"))

        # Typecodes for user exceptions.
        exceptions = []
        exceptions.append(Fnorb.orb.CORBA.typecode("IDL:Tango/DevFailed:1.0"))

        # Initialise the server request object.
        server_request.initialise(inputs, outputs, exceptions)

        # Unmarshal the arguments to the request.
        arguments = server_request.arguments()

        # Invoke the implementation.
        results = apply(self.read_attributes, arguments)

        # Create the reply.
        server_request.results(results)

        return

    def _skel_write_attributes(self, server_request):
        """ Operation: IDL:Tango/Device/write_attributes:1.0 """

        # Typecodes for 'in' and 'inout' parameters.
        inputs = []
        inputs.append(Fnorb.orb.CORBA.typecode("IDL:Tango/AttributeValueList:1.0"))

        # Typecodes for the result, 'inout' and 'out' parameters.
        outputs = []

        # Typecodes for user exceptions.
        exceptions = []
        exceptions.append(Fnorb.orb.CORBA.typecode("IDL:Tango/DevFailed:1.0"))

        # Initialise the server request object.
        server_request.initialise(inputs, outputs, exceptions)

        # Unmarshal the arguments to the request.
        arguments = server_request.arguments()

        # Invoke the implementation.
        results = apply(self.write_attributes, arguments)

        # Create the reply.
        server_request.results(results)

        return

    def _skel_ping(self, server_request):
        """ Operation: IDL:Tango/Device/ping:1.0 """

        # Typecodes for 'in' and 'inout' parameters.
        inputs = []

        # Typecodes for the result, 'inout' and 'out' parameters.
        outputs = []

        # Typecodes for user exceptions.
        exceptions = []
        exceptions.append(Fnorb.orb.CORBA.typecode("IDL:Tango/DevFailed:1.0"))

        # Initialise the server request object.
        server_request.initialise(inputs, outputs, exceptions)

        # This operation has no arguments.
        arguments = ()

        # Invoke the implementation.
        results = apply(self.ping, arguments)

        # Create the reply.
        server_request.results(results)

        return

    def _skel_black_box(self, server_request):
        """ Operation: IDL:Tango/Device/black_box:1.0 """

        # Typecodes for 'in' and 'inout' parameters.
        inputs = []
        inputs.append(Fnorb.orb.CORBA.TC_long)

        # Typecodes for the result, 'inout' and 'out' parameters.
        outputs = []
        outputs.append(Fnorb.orb.CORBA.typecode("IDL:Tango/DevVarStringArray:1.0"))

        # Typecodes for user exceptions.
        exceptions = []
        exceptions.append(Fnorb.orb.CORBA.typecode("IDL:Tango/DevFailed:1.0"))

        # Initialise the server request object.
        server_request.initialise(inputs, outputs, exceptions)

        # Unmarshal the arguments to the request.
        arguments = server_request.arguments()

        # Invoke the implementation.
        results = apply(self.black_box, arguments)

        # Create the reply.
        server_request.results(results)

        return

    def _skel_info(self, server_request):
        """ Operation: IDL:Tango/Device/info:1.0 """

        # Typecodes for 'in' and 'inout' parameters.
        inputs = []

        # Typecodes for the result, 'inout' and 'out' parameters.
        outputs = []
        outputs.append(Fnorb.orb.CORBA.typecode("IDL:Tango/DevInfo:1.0"))

        # Typecodes for user exceptions.
        exceptions = []
        exceptions.append(Fnorb.orb.CORBA.typecode("IDL:Tango/DevFailed:1.0"))

        # Initialise the server request object.
        server_request.initialise(inputs, outputs, exceptions)

        # This operation has no arguments.
        arguments = ()

        # Invoke the implementation.
        results = apply(self.info, arguments)

        # Create the reply.
        server_request.results(results)

        return

    def _skel_command_list_query(self, server_request):
        """ Operation: IDL:Tango/Device/command_list_query:1.0 """

        # Typecodes for 'in' and 'inout' parameters.
        inputs = []

        # Typecodes for the result, 'inout' and 'out' parameters.
        outputs = []
        outputs.append(Fnorb.orb.CORBA.typecode("IDL:Tango/DevCmdInfoList:1.0"))

        # Typecodes for user exceptions.
        exceptions = []
        exceptions.append(Fnorb.orb.CORBA.typecode("IDL:Tango/DevFailed:1.0"))

        # Initialise the server request object.
        server_request.initialise(inputs, outputs, exceptions)

        # This operation has no arguments.
        arguments = ()

        # Invoke the implementation.
        results = apply(self.command_list_query, arguments)

        # Create the reply.
        server_request.results(results)

        return

    def _skel_command_query(self, server_request):
        """ Operation: IDL:Tango/Device/command_query:1.0 """

        # Typecodes for 'in' and 'inout' parameters.
        inputs = []
        inputs.append(Fnorb.orb.CORBA.TC_string)

        # Typecodes for the result, 'inout' and 'out' parameters.
        outputs = []
        outputs.append(Fnorb.orb.CORBA.typecode("IDL:Tango/DevCmdInfo:1.0"))

        # Typecodes for user exceptions.
        exceptions = []
        exceptions.append(Fnorb.orb.CORBA.typecode("IDL:Tango/DevFailed:1.0"))

        # Initialise the server request object.
        server_request.initialise(inputs, outputs, exceptions)

        # Unmarshal the arguments to the request.
        arguments = server_request.arguments()

        # Invoke the implementation.
        results = apply(self.command_query, arguments)

        # Create the reply.
        server_request.results(results)

        return

class Device_2_skel(Fnorb.orb.CORBA.Object_skel, Device_skel):
    """ Interface: IDL:Tango/Device_2:1.0 """

    _FNORB_ID = "IDL:Tango/Device_2:1.0"

    def _skel_command_inout_2(self, server_request):
        """ Operation: IDL:Tango/Device_2/command_inout_2:1.0 """

        # Typecodes for 'in' and 'inout' parameters.
        inputs = []
        inputs.append(Fnorb.orb.CORBA.TC_string)
        inputs.append(Fnorb.orb.CORBA.TC_any)
        inputs.append(Fnorb.orb.CORBA.typecode("IDL:Tango/DevSource:1.0"))

        # Typecodes for the result, 'inout' and 'out' parameters.
        outputs = []
        outputs.append(Fnorb.orb.CORBA.TC_any)

        # Typecodes for user exceptions.
        exceptions = []
        exceptions.append(Fnorb.orb.CORBA.typecode("IDL:Tango/DevFailed:1.0"))

        # Initialise the server request object.
        server_request.initialise(inputs, outputs, exceptions)

        # Unmarshal the arguments to the request.
        arguments = server_request.arguments()

        # Invoke the implementation.
        results = apply(self.command_inout_2, arguments)

        # Create the reply.
        server_request.results(results)

        return

    def _skel_read_attributes_2(self, server_request):
        """ Operation: IDL:Tango/Device_2/read_attributes_2:1.0 """

        # Typecodes for 'in' and 'inout' parameters.
        inputs = []
        inputs.append(Fnorb.orb.CORBA.typecode("IDL:Tango/DevVarStringArray:1.0"))
        inputs.append(Fnorb.orb.CORBA.typecode("IDL:Tango/DevSource:1.0"))

        # Typecodes for the result, 'inout' and 'out' parameters.
        outputs = []
        outputs.append(Fnorb.orb.CORBA.typecode("IDL:Tango/AttributeValueList:1.0"))

        # Typecodes for user exceptions.
        exceptions = []
        exceptions.append(Fnorb.orb.CORBA.typecode("IDL:Tango/DevFailed:1.0"))

        # Initialise the server request object.
        server_request.initialise(inputs, outputs, exceptions)

        # Unmarshal the arguments to the request.
        arguments = server_request.arguments()

        # Invoke the implementation.
        results = apply(self.read_attributes_2, arguments)

        # Create the reply.
        server_request.results(results)

        return

    def _skel_get_attribute_config_2(self, server_request):
        """ Operation: IDL:Tango/Device_2/get_attribute_config_2:1.0 """

        # Typecodes for 'in' and 'inout' parameters.
        inputs = []
        inputs.append(Fnorb.orb.CORBA.typecode("IDL:Tango/DevVarStringArray:1.0"))

        # Typecodes for the result, 'inout' and 'out' parameters.
        outputs = []
        outputs.append(Fnorb.orb.CORBA.typecode("IDL:Tango/AttributeConfigList_2:1.0"))

        # Typecodes for user exceptions.
        exceptions = []
        exceptions.append(Fnorb.orb.CORBA.typecode("IDL:Tango/DevFailed:1.0"))

        # Initialise the server request object.
        server_request.initialise(inputs, outputs, exceptions)

        # Unmarshal the arguments to the request.
        arguments = server_request.arguments()

        # Invoke the implementation.
        results = apply(self.get_attribute_config_2, arguments)

        # Create the reply.
        server_request.results(results)

        return

    def _skel_command_list_query_2(self, server_request):
        """ Operation: IDL:Tango/Device_2/command_list_query_2:1.0 """

        # Typecodes for 'in' and 'inout' parameters.
        inputs = []

        # Typecodes for the result, 'inout' and 'out' parameters.
        outputs = []
        outputs.append(Fnorb.orb.CORBA.typecode("IDL:Tango/DevCmdInfoList_2:1.0"))

        # Typecodes for user exceptions.
        exceptions = []
        exceptions.append(Fnorb.orb.CORBA.typecode("IDL:Tango/DevFailed:1.0"))

        # Initialise the server request object.
        server_request.initialise(inputs, outputs, exceptions)

        # This operation has no arguments.
        arguments = ()

        # Invoke the implementation.
        results = apply(self.command_list_query_2, arguments)

        # Create the reply.
        server_request.results(results)

        return

    def _skel_command_query_2(self, server_request):
        """ Operation: IDL:Tango/Device_2/command_query_2:1.0 """

        # Typecodes for 'in' and 'inout' parameters.
        inputs = []
        inputs.append(Fnorb.orb.CORBA.TC_string)

        # Typecodes for the result, 'inout' and 'out' parameters.
        outputs = []
        outputs.append(Fnorb.orb.CORBA.typecode("IDL:Tango/DevCmdInfo_2:1.0"))

        # Typecodes for user exceptions.
        exceptions = []
        exceptions.append(Fnorb.orb.CORBA.typecode("IDL:Tango/DevFailed:1.0"))

        # Initialise the server request object.
        server_request.initialise(inputs, outputs, exceptions)

        # Unmarshal the arguments to the request.
        arguments = server_request.arguments()

        # Invoke the implementation.
        results = apply(self.command_query_2, arguments)

        # Create the reply.
        server_request.results(results)

        return

    def _skel_command_inout_history_2(self, server_request):
        """ Operation: IDL:Tango/Device_2/command_inout_history_2:1.0 """

        # Typecodes for 'in' and 'inout' parameters.
        inputs = []
        inputs.append(Fnorb.orb.CORBA.TC_string)
        inputs.append(Fnorb.orb.CORBA.TC_long)

        # Typecodes for the result, 'inout' and 'out' parameters.
        outputs = []
        outputs.append(Fnorb.orb.CORBA.typecode("IDL:Tango/DevCmdHistoryList:1.0"))

        # Typecodes for user exceptions.
        exceptions = []
        exceptions.append(Fnorb.orb.CORBA.typecode("IDL:Tango/DevFailed:1.0"))

        # Initialise the server request object.
        server_request.initialise(inputs, outputs, exceptions)

        # Unmarshal the arguments to the request.
        arguments = server_request.arguments()

        # Invoke the implementation.
        results = apply(self.command_inout_history_2, arguments)

        # Create the reply.
        server_request.results(results)

        return

    def _skel_read_attribute_history_2(self, server_request):
        """ Operation: IDL:Tango/Device_2/read_attribute_history_2:1.0 """

        # Typecodes for 'in' and 'inout' parameters.
        inputs = []
        inputs.append(Fnorb.orb.CORBA.TC_string)
        inputs.append(Fnorb.orb.CORBA.TC_long)

        # Typecodes for the result, 'inout' and 'out' parameters.
        outputs = []
        outputs.append(Fnorb.orb.CORBA.typecode("IDL:Tango/DevAttrHistoryList:1.0"))

        # Typecodes for user exceptions.
        exceptions = []
        exceptions.append(Fnorb.orb.CORBA.typecode("IDL:Tango/DevFailed:1.0"))

        # Initialise the server request object.
        server_request.initialise(inputs, outputs, exceptions)

        # Unmarshal the arguments to the request.
        arguments = server_request.arguments()

        # Invoke the implementation.
        results = apply(self.read_attribute_history_2, arguments)

        # Create the reply.
        server_request.results(results)

        return

class Device_3_skel(Fnorb.orb.CORBA.Object_skel, Device_2_skel):
    """ Interface: IDL:Tango/Device_3:1.0 """

    _FNORB_ID = "IDL:Tango/Device_3:1.0"

    def _skel_read_attributes_3(self, server_request):
        """ Operation: IDL:Tango/Device_3/read_attributes_3:1.0 """

        # Typecodes for 'in' and 'inout' parameters.
        inputs = []
        inputs.append(Fnorb.orb.CORBA.typecode("IDL:Tango/DevVarStringArray:1.0"))
        inputs.append(Fnorb.orb.CORBA.typecode("IDL:Tango/DevSource:1.0"))

        # Typecodes for the result, 'inout' and 'out' parameters.
        outputs = []
        outputs.append(Fnorb.orb.CORBA.typecode("IDL:Tango/AttributeValueList_3:1.0"))

        # Typecodes for user exceptions.
        exceptions = []
        exceptions.append(Fnorb.orb.CORBA.typecode("IDL:Tango/DevFailed:1.0"))

        # Initialise the server request object.
        server_request.initialise(inputs, outputs, exceptions)

        # Unmarshal the arguments to the request.
        arguments = server_request.arguments()

        # Invoke the implementation.
        results = apply(self.read_attributes_3, arguments)

        # Create the reply.
        server_request.results(results)

        return

    def _skel_write_attributes_3(self, server_request):
        """ Operation: IDL:Tango/Device_3/write_attributes_3:1.0 """

        # Typecodes for 'in' and 'inout' parameters.
        inputs = []
        inputs.append(Fnorb.orb.CORBA.typecode("IDL:Tango/AttributeValueList:1.0"))

        # Typecodes for the result, 'inout' and 'out' parameters.
        outputs = []

        # Typecodes for user exceptions.
        exceptions = []
        exceptions.append(Fnorb.orb.CORBA.typecode("IDL:Tango/DevFailed:1.0"))
        exceptions.append(Fnorb.orb.CORBA.typecode("IDL:Tango/MultiDevFailed:1.0"))

        # Initialise the server request object.
        server_request.initialise(inputs, outputs, exceptions)

        # Unmarshal the arguments to the request.
        arguments = server_request.arguments()

        # Invoke the implementation.
        results = apply(self.write_attributes_3, arguments)

        # Create the reply.
        server_request.results(results)

        return

    def _skel_read_attribute_history_3(self, server_request):
        """ Operation: IDL:Tango/Device_3/read_attribute_history_3:1.0 """

        # Typecodes for 'in' and 'inout' parameters.
        inputs = []
        inputs.append(Fnorb.orb.CORBA.TC_string)
        inputs.append(Fnorb.orb.CORBA.TC_long)

        # Typecodes for the result, 'inout' and 'out' parameters.
        outputs = []
        outputs.append(Fnorb.orb.CORBA.typecode("IDL:Tango/DevAttrHistoryList_3:1.0"))

        # Typecodes for user exceptions.
        exceptions = []
        exceptions.append(Fnorb.orb.CORBA.typecode("IDL:Tango/DevFailed:1.0"))

        # Initialise the server request object.
        server_request.initialise(inputs, outputs, exceptions)

        # Unmarshal the arguments to the request.
        arguments = server_request.arguments()

        # Invoke the implementation.
        results = apply(self.read_attribute_history_3, arguments)

        # Create the reply.
        server_request.results(results)

        return

    def _skel_info_3(self, server_request):
        """ Operation: IDL:Tango/Device_3/info_3:1.0 """

        # Typecodes for 'in' and 'inout' parameters.
        inputs = []

        # Typecodes for the result, 'inout' and 'out' parameters.
        outputs = []
        outputs.append(Fnorb.orb.CORBA.typecode("IDL:Tango/DevInfo_3:1.0"))