# Do NOT edit this file!
# It was generated by IdlC class idl.json.python.ProxyAsnVisitor.

#
# Section generated from "/home/nb/builds/MEGA/px2-3.0.0-3.0.9-branch-20140613-none-release-none-pdu-raritan/fwcomponents/mkdist/tmp/px2_final/idlc/rt/idl/Event.idl"
#

import raritan.rpc
from raritan.rpc import (
    Interface,
    Structure,
    ValueObject,
    Enumeration,
    typecheck,
    DecodeException,
)

# value object
class Event(ValueObject):
    idlType = "idl.Event:1.0.0"

    def __init__(self, source):
        typecheck.is_remote_obj(source, AssertionError)

        self.source = source

    def encode(self):
        json = {}
        json["source"] = Interface.encode(self.source)
        return json

    @classmethod
    def decode(cls, json, agent):
        obj = cls(
            source=Interface.decode(json["source"], agent),
        )
        return obj

    def listElements(self):
        elements = ["source"]
        return elements
