CORBA-Python

 view release on metacpan or  search on metacpan

lib/CORBA/Python/ClassVisitor.pm  view on Meta::CPAN

                print $FH $self->{indent},"        CORBA.marshal(output, 'string', self._value)\n";
                print $FH "\n";
            }
        }
        else {
            print $FH $self->{indent},"class ",$node->{py_name},"(str):\n";
            print $FH $self->{indent},"    \"\"\" Typedef ",$node->{repos_id}," \"\"\"\n";
            print $FH "\n";
            print $FH $self->{indent},"    def __init__(self, val):\n";
            print $FH $self->{indent},"        if not isinstance(val, str):\n";
            print $FH $self->{indent},"            raise CORBA.SystemException('IDL:CORBA/BAD_PARAM:1.0', 2, CORBA.CORBA_COMPLETED_MAYBE)\n";
            if (exists $type->{max}) {
                print $FH $self->{indent},"        if len(val) > ",$type->{max}->{py_literal},":\n";
                print $FH $self->{indent},"            raise CORBA.SystemException('IDL:CORBA/BAD_PARAM:1.0', 2, CORBA.CORBA_COMPLETED_MAYBE)\n";
            }
            print $FH $self->{indent},"        str.__init__(val)\n";
            print $FH "\n";
            if ($self->{marshal}) {
                print $FH $self->{indent},"    def marshal(self, output):\n";
                print $FH $self->{indent},"        CORBA.marshal(output, 'string', self)\n";
                print $FH "\n";
            }
        }
        if ($self->{marshal}) {
            print $FH $self->{indent},"    def demarshal(cls, input_):\n";
            print $FH $self->{indent},"        val = CORBA.demarshal(input_, 'string')\n";
            print $FH $self->{indent},"        return cls(val)\n";
            print $FH $self->{indent},"    demarshal = classmethod(demarshal)\n";
            print $FH "\n";
        }
    }
    elsif ($type->isa('WideStringType')) {
        if ($self->{old_object}) {
            print $FH $self->{indent},"class ",$node->{py_name},":\n";
            # TODO
            print $FH $self->{indent},"    \"\"\" Typedef ",$node->{repos_id}," \"\"\"\n";
            print $FH "\n";
            print $FH $self->{indent},"    def __init__(self, val):\n";
            print $FH $self->{indent},"        self._value = str(val)\n";
            if (exists $type->{max}) {
                print $FH $self->{indent},"        if len(self._value) > ",$type->{max}->{py_literal},":\n";
                print $FH $self->{indent},"            raise CORBA.SystemException('IDL:CORBA/BAD_PARAM:1.0', 2, CORBA.CORBA_COMPLETED_MAYBE)\n";
            }
            print $FH "\n";
            print $FH $self->{indent},"    def __cmp__(self, val):\n";
            print $FH $self->{indent},"        return cmp(self._value, val)\n";
            print $FH "\n";
            print $FH $self->{indent},"    def __nonzero__(self):\n";
            print $FH $self->{indent},"        return bool(self._value)\n";
            print $FH "\n";
            print $FH $self->{indent},"    def __str__(self):\n";
            print $FH $self->{indent},"        return str(self._value)\n";
            print $FH "\n";
            if ($self->{marshal}) {
                print $FH $self->{indent},"    def marshal(self, output):\n";
                print $FH $self->{indent},"        CORBA.marshal(output, 'wstring', self._value)\n";
                print $FH "\n";
            }
        }
        else {
            print $FH $self->{indent},"class ",$node->{py_name},"(unicode):\n";
            print $FH $self->{indent},"    \"\"\" Typedef ",$node->{repos_id}," \"\"\"\n";
            print $FH "\n";
            print $FH $self->{indent},"    def __init__(self, val):\n";
            print $FH $self->{indent},"        if not isinstance(val, basestring):\n";
            print $FH $self->{indent},"            raise CORBA.SystemException('IDL:CORBA/BAD_PARAM:1.0', 2, CORBA.CORBA_COMPLETED_MAYBE)\n";
            if (exists $type->{max}) {
                print $FH $self->{indent},"        if len(val) > ",$type->{max}->{py_literal},":\n";
                print $FH $self->{indent},"            raise CORBA.SystemException('IDL:CORBA/BAD_PARAM:1.0', 2, CORBA.CORBA_COMPLETED_MAYBE)\n";
            }
            print $FH $self->{indent},"        unicode.__init__(val)\n";
            print $FH "\n";
            if ($self->{marshal}) {
                print $FH $self->{indent},"    def marshal(self, output):\n";
                print $FH $self->{indent},"        CORBA.marshal(output, 'wstring', self)\n";
                print $FH "\n";
            }
        }
        print $FH $self->{indent},"    \"\"\" Typedef ",$node->{repos_id}," \"\"\"\n";
        print $FH "\n";
        if ($self->{marshal}) {
            print $FH $self->{indent},"    def demarshal(cls, input_):\n";
            print $FH $self->{indent},"        val = CORBA.demarshal(input_, 'wstring')\n";
            print $FH $self->{indent},"        return cls(val)\n";
            print $FH $self->{indent},"    demarshal = classmethod(demarshal)\n";
            print $FH "\n";
        }
    }
    elsif (  $type->isa('StructType')
            or $type->isa('UnionType')) {
        print $FH $self->{indent},"class ",$node->{py_name},"(",$self->_get_scoped_name($type, $node, 1),"):\n";
        print $FH $self->{indent},"    \"\"\" Typedef ",$node->{repos_id}," \"\"\"\n";
        print $FH "\n";
        print $FH $self->{indent},"    def __init__(self, *args, **kwargs):\n";
        print $FH $self->{indent},"        if len(args) == 1 and isinstance(args[0], ",$self->_get_scoped_name($type, $node),"):\n";
        print $FH $self->{indent},"            self.__dict__ = dict(args[0].__dict__)\n";
        print $FH $self->{indent},"        else:\n";
        print $FH $self->{indent},"            super(",$self->_get_scoped_name($node, $node),", self).__init__(*args, **kwargs)\n";
        print $FH "\n";
    }
    elsif (  $type->isa('TypeDeclarator')
            or $type->isa('BaseInterface') ) {
        print $FH $self->{indent},"class ",$node->{py_name},"(",$self->_get_scoped_name($type, $node, 1),"):\n";
        print $FH $self->{indent},"    \"\"\" Typedef ",$node->{repos_id}," \"\"\"\n";
        print $FH "\n";
    }
    elsif ($type->isa('FloatingPtType')) {
        if ($self->{old_object}) {
            print $FH $self->{indent},"class ",$node->{py_name},":\n";
            print $FH $self->{indent},"    \"\"\" Typedef ",$node->{repos_id}," \"\"\"\n";
            print $FH "\n";
            print $FH $self->{indent},"    def __init__(self, val):\n";
            print $FH $self->{indent},"        self._value = float(val)\n";
            print $FH "\n";
            print $FH $self->{indent},"    def __cmp__(self, val):\n";
            print $FH $self->{indent},"        return cmp(self._value, val)\n";
            print $FH "\n";
            print $FH $self->{indent},"    def __nonzero__(self):\n";
            print $FH $self->{indent},"        return bool(self._value)\n";
            print $FH "\n";
            print $FH $self->{indent},"    def __str__(self):\n";
            print $FH $self->{indent},"        return str(self._value)\n";
            print $FH "\n";
            if ($self->{marshal}) {
                my $value = $type->{value};
                $value =~ s/ /_/g;
                print $FH $self->{indent},"    def marshal(self, output):\n";
                print $FH $self->{indent},"        CORBA.marshal(output, '",$value,"', self._value)\n";
                print $FH "\n";
            }
        }

lib/CORBA/Python/ClassVisitor.pm  view on Meta::CPAN

            print $FH $self->{indent},"        return cmp(self._value, val)\n";
            print $FH "\n";
            print $FH $self->{indent},"    def __nonzero__(self):\n";
            print $FH $self->{indent},"        return bool(self._value)\n";
            print $FH "\n";
            print $FH $self->{indent},"    def __str__(self):\n";
            print $FH $self->{indent},"        return str(self._value)\n";
            print $FH "\n";
            if ($self->{marshal}) {
                print $FH $self->{indent},"    def marshal(self, output):\n";
                print $FH $self->{indent},"        CORBA.marshal(output, 'char', self._value)\n";
                print $FH "\n";
            }
        }
        else {
            print $FH $self->{indent},"class ",$node->{py_name},"(str):\n";
            print $FH $self->{indent},"    \"\"\" Typedef ",$node->{repos_id}," \"\"\"\n";
            print $FH "\n";
            print $FH $self->{indent},"    def __init__(self, val):\n";
            print $FH $self->{indent},"        CORBA.check('char', val)\n";
            print $FH $self->{indent},"        str.__init__(val)\n";
            print $FH "\n";
            if ($self->{marshal}) {
                print $FH $self->{indent},"    def marshal(self, output):\n";
                print $FH $self->{indent},"        CORBA.marshal(output, 'char', self)\n";
                print $FH "\n";
            }
        }
        if ($self->{marshal}) {
            print $FH $self->{indent},"    def demarshal(cls, input_):\n";
            print $FH $self->{indent},"        val = CORBA.demarshal(input_, 'char')\n";
            print $FH $self->{indent},"        return cls(val)\n";
            print $FH $self->{indent},"    demarshal = classmethod(demarshal)\n";
            print $FH "\n";
        }
    }
    elsif ($type->isa('WideCharType')) {
        if ($self->{old_object}) {
            print $FH $self->{indent},"class ",$node->{py_name},":\n";
            print $FH $self->{indent},"    \"\"\" Typedef ",$node->{repos_id}," \"\"\"\n";
            print $FH "\n";
            print $FH $self->{indent},"    def __init__(self, val):\n";
            print $FH $self->{indent},"        CORBA.check('wchar', self._value)\n";
            print $FH "\n";
            print $FH $self->{indent},"    def __cmp__(self, val):\n";
            print $FH $self->{indent},"        return cmp(self._value, val)\n";
            print $FH "\n";
            print $FH $self->{indent},"    def __nonzero__(self):\n";
            print $FH $self->{indent},"        return bool(self._value)\n";
            print $FH "\n";
            print $FH $self->{indent},"    def __str__(self):\n";
            print $FH $self->{indent},"        return str(self._value)\n";
            print $FH "\n";
            if ($self->{marshal}) {
                print $FH $self->{indent},"    def marshal(self, output):\n";
                print $FH $self->{indent},"        CORBA.marshal(output, 'wchar', self._value)\n";
                print $FH "\n";
            }
        }
        else {
            print $FH $self->{indent},"class ",$node->{py_name},"(unicode):\n";
            print $FH $self->{indent},"    \"\"\" Typedef ",$node->{repos_id}," \"\"\"\n";
            print $FH "\n";
            print $FH $self->{indent},"    def __init__(self, val):\n";
            print $FH $self->{indent},"        CORBA.check('wchar', val)\n";
            print $FH $self->{indent},"        unicode.__init__(val)\n";
            print $FH "\n";
            if ($self->{marshal}) {
                print $FH $self->{indent},"    def marshal(self, output):\n";
                print $FH $self->{indent},"        CORBA.marshal(output, 'wchar', self)\n";
                print $FH "\n";
            }
        }
        if ($self->{marshal}) {
            print $FH $self->{indent},"    def demarshal(cls, input_):\n";
            print $FH $self->{indent},"        val = CORBA.demarshal(input_, 'wchar')\n";
            print $FH $self->{indent},"        return cls(val)\n";
            print $FH $self->{indent},"    demarshal = classmethod(demarshal)\n";
            print $FH "\n";
        }
    }
    elsif ($type->isa('BooleanType')) {
        if ($self->{old_object}) {
            print $FH $self->{indent},"class ",$node->{py_name},":\n";
            print $FH $self->{indent},"    \"\"\" Typedef ",$node->{repos_id}," \"\"\"\n";
            print $FH "\n";
            print $FH $self->{indent},"    def __init__(self, val):\n";
            print $FH $self->{indent},"        self._value = bool(val)\n";
            print $FH "\n";
            print $FH $self->{indent},"    def __cmp__(self, val):\n";
            print $FH $self->{indent},"        return cmp(self._value, val)\n";
            print $FH "\n";
            print $FH $self->{indent},"    def __nonzero__(self):\n";
            print $FH $self->{indent},"        return bool(self._value)\n";
            print $FH "\n";
            print $FH $self->{indent},"    def __str__(self):\n";
            print $FH $self->{indent},"        return str(self._value)\n";
            print $FH "\n";
            if ($self->{marshal}) {
                print $FH $self->{indent},"    def marshal(self, output):\n";
                print $FH $self->{indent},"        CORBA.marshal(output, 'boolean', self._value)\n";
                print $FH "\n";
            }
        }
        else {
            print $FH $self->{indent},"class ",$node->{py_name},"(int):\n";
            print $FH $self->{indent},"    \"\"\" Typedef ",$node->{repos_id}," \"\"\"\n";
            print $FH "\n";
            print $FH $self->{indent},"    def __init__(self, val):\n";
            print $FH $self->{indent},"        int.__init__(bool(val))\n";
            print $FH "\n";
            if ($self->{marshal}) {
                print $FH $self->{indent},"    def marshal(self, output):\n";
                print $FH $self->{indent},"        CORBA.marshal(output, 'boolean', self)\n";
                print $FH "\n";
            }
        }
        if ($self->{marshal}) {
            print $FH $self->{indent},"    def demarshal(cls, input_):\n";
            print $FH $self->{indent},"        val = CORBA.demarshal(input_, 'boolean')\n";
            print $FH $self->{indent},"        return cls(val)\n";
            print $FH $self->{indent},"    demarshal = classmethod(demarshal)\n";
            print $FH "\n";
        }
    }
    elsif ($type->isa('OctetType')) {



( run in 1.744 second using v1.01-cache-2.11-cpan-97f6503c9c8 )