# -*- coding: utf-8 -*-
#
# This file is part of the RCUSCC project
#
#
#
# Distributed under the terms of the APACHE license.
# See LICENSE.txt for more info.

""" RCU-SCC Device Server for LOFAR2.0

"""

# PyTango imports
import tango
from tango import DebugIt
from tango.server import run
from tango.server import Device
from tango.server import command
from tango import AttrQuality, DispLevel, DevState
from tango import AttrWriteType, PipeWriteType
# Additional import
# PROTECTED REGION ID(RCUSCC.additionnal_import) ENABLED START #
# PROTECTED REGION END #    //  RCUSCC.additionnal_import

__all__ = ["RCUSCC", "main"]


class RCUSCC(Device):
    """
    """
    # PROTECTED REGION ID(RCUSCC.class_variable) ENABLED START #
    # PROTECTED REGION END #    //  RCUSCC.class_variable

    # ---------------
    # General methods
    # ---------------

    def init_device(self):
        """Initialises the attributes and properties of the RCUSCC."""
        Device.init_device(self)
        # PROTECTED REGION ID(RCUSCC.init_device) ENABLED START #
        # PROTECTED REGION END #    //  RCUSCC.init_device

    def always_executed_hook(self):
        """Method always executed before any TANGO command is executed."""
        # PROTECTED REGION ID(RCUSCC.always_executed_hook) ENABLED START #
        # PROTECTED REGION END #    //  RCUSCC.always_executed_hook

    def delete_device(self):
        """Hook to delete resources allocated in init_device.

        This method allows for any memory or other resources allocated in the
        init_device method to be released.  This method is called by the device
        destructor and by the device Init command.
        """
        # PROTECTED REGION ID(RCUSCC.delete_device) ENABLED START #
        # PROTECTED REGION END #    //  RCUSCC.delete_device
    # --------
    # Commands
    # --------

# ----------
# Run server
# ----------


def main(args=None, **kwargs):
    """Main function of the RCUSCC module."""
    # PROTECTED REGION ID(RCUSCC.main) ENABLED START #
    return run((RCUSCC,), args=args, **kwargs)
    # PROTECTED REGION END #    //  RCUSCC.main


if __name__ == '__main__':
    main()