blob: d3571e7515579739a3efbc99a6e22b3d883d8138 [file] [log] [blame]
# 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