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 )