# This file was created automatically by SWIG.
# Don't modify this file, modify the SWIG interface instead.
# This file is compatible with both classic and new-style classes.

import _mr

def _swig_setattr_nondynamic(self,class_type,name,value,static=1):
    if (name == "this"):
        if isinstance(value, class_type):
            self.__dict__[name] = value.this
            if hasattr(value,"thisown"): self.__dict__["thisown"] = value.thisown
            del value.thisown
            return
    method = class_type.__swig_setmethods__.get(name,None)
    if method: return method(self,value)
    if (not static) or hasattr(self,name) or (name == "thisown"):
        self.__dict__[name] = value
    else:
        raise AttributeError("You cannot add attributes to %s" % self)

def _swig_setattr(self,class_type,name,value):
    return _swig_setattr_nondynamic(self,class_type,name,value,0)

def _swig_getattr(self,class_type,name):
    method = class_type.__swig_getmethods__.get(name,None)
    if method: return method(self)
    raise AttributeError,name

import types
try:
    _object = types.ObjectType
    _newclass = 1
except AttributeError:
    class _object : pass
    _newclass = 0
del types


class mr_packet_sink_sptr(_object):
    """Proxy of C++ mr_packet_sink_sptr class"""
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, mr_packet_sink_sptr, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, mr_packet_sink_sptr, name)
    def __repr__(self):
        return "<%s.%s; proxy of C++ boost::shared_ptr<mr_packet_sink > instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
    def __init__(self, *args):
        """
        __init__(self) -> mr_packet_sink_sptr
        __init__(self,  p) -> mr_packet_sink_sptr
        """
        _swig_setattr(self, mr_packet_sink_sptr, 'this', _mr.new_mr_packet_sink_sptr(*args))
        _swig_setattr(self, mr_packet_sink_sptr, 'thisown', 1)
    def __deref__(*args):
        """__deref__(self)"""
        return _mr.mr_packet_sink_sptr___deref__(*args)

    def name(*args):
        """name(self) -> string"""
        return _mr.mr_packet_sink_sptr_name(*args)

    def input_signature(*args):
        """input_signature(self) -> gr_io_signature_sptr"""
        return _mr.mr_packet_sink_sptr_input_signature(*args)

    def output_signature(*args):
        """output_signature(self) -> gr_io_signature_sptr"""
        return _mr.mr_packet_sink_sptr_output_signature(*args)

    def unique_id(*args):
        """unique_id(self) -> long"""
        return _mr.mr_packet_sink_sptr_unique_id(*args)

    def history(*args):
        """history(self) -> unsigned int"""
        return _mr.mr_packet_sink_sptr_history(*args)

    def output_multiple(*args):
        """output_multiple(self) -> int"""
        return _mr.mr_packet_sink_sptr_output_multiple(*args)

    def relative_rate(*args):
        """relative_rate(self) -> double"""
        return _mr.mr_packet_sink_sptr_relative_rate(*args)

    def check_topology(*args):
        """check_topology(self, int ninputs, int noutputs) -> bool"""
        return _mr.mr_packet_sink_sptr_check_topology(*args)

    def start(*args):
        """start(self) -> bool"""
        return _mr.mr_packet_sink_sptr_start(*args)

    def stop(*args):
        """stop(self) -> bool"""
        return _mr.mr_packet_sink_sptr_stop(*args)

    def detail(*args):
        """detail(self) -> gr_block_detail_sptr"""
        return _mr.mr_packet_sink_sptr_detail(*args)

    def set_detail(*args):
        """set_detail(self, gr_block_detail_sptr detail)"""
        return _mr.mr_packet_sink_sptr_set_detail(*args)

    def __del__(self, destroy=_mr.delete_mr_packet_sink_sptr):
        """__del__(self)"""
        try:
            if self.thisown: destroy(self)
        except: pass


class mr_packet_sink_sptrPtr(mr_packet_sink_sptr):
    def __init__(self, this):
        _swig_setattr(self, mr_packet_sink_sptr, 'this', this)
        if not hasattr(self,"thisown"): _swig_setattr(self, mr_packet_sink_sptr, 'thisown', 0)
        _swig_setattr(self, mr_packet_sink_sptr,self.__class__,mr_packet_sink_sptr)
_mr.mr_packet_sink_sptr_swigregister(mr_packet_sink_sptrPtr)


def mr_packet_sink_block(*args):
    """mr_packet_sink_block(mr_packet_sink_sptr r) -> gr_block_sptr"""
    return _mr.mr_packet_sink_block(*args)
mr_packet_sink_sptr.block = lambda self: mr_packet_sink_block (self)
mr_packet_sink_sptr.__repr__ = lambda self: "<gr_block %s (%d)>" % (self.name(), self.unique_id ())


def packet_sink(*args):
    """
    packet_sink(vector_uchar sync_vector, gr_msg_queue_sptr target_queue, 
        int threshold=-1) -> gr_packet_sink_sptr
    packet_sink(vector_uchar sync_vector, gr_msg_queue_sptr target_queue) -> gr_packet_sink_sptr
    packet_sink(vector_uchar sync_vector, gr_msg_queue_sptr target_queue, 
        int payload_len=-1, int threshold=-1) -> mr_packet_sink_sptr
    """
    return _mr.packet_sink(*args)

