# Copyright Bruno da Silva de Oliveira 2003. Use, modification and # distribution is subject to the Boost Software License, Version 1.0. # (See accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) from Exporter import Exporter from settings import * import utils #============================================================================== # VarExporter #============================================================================== class VarExporter(Exporter): '''Exports a global variable. ''' def __init__(self, info): Exporter.__init__(self, info) def Export(self, codeunit, exported_names): if self.info.exclude: return decl = self.GetDeclaration(self.info.name) if not decl.type.const: msg = '---> Warning: The global variable "%s" is non-const:\n' \ ' changes in Python will not reflect in C++.' print msg % self.info.name print rename = self.info.rename or self.info.name code = self.INDENT + namespaces.python code += 'scope().attr("%s") = %s;\n' % (rename, self.info.name) codeunit.Write('module', code) def Order(self): return 0, self.info.name def Name(self): return self.info.name