def visit_reference( self ): no_ref = declarations.remove_const( declarations.remove_reference( self.user_type ) ) if declarations.is_same( declarations.char_t(), no_ref ): return "ctypes.c_char_p" elif declarations.is_same( declarations.wchar_t(), no_ref ): return "ctypes.c_wchar_p" elif declarations.is_same( declarations.void_t(), no_ref ): return "ctypes.c_void_p" else: base_visitor = self.create_converter( self.user_type.base ) internal_type_str = declarations.apply_visitor( base_visitor, base_visitor.user_type ) return "ctypes.POINTER( %s )" % internal_type_str
def visit_reference(self): no_ref = declarations.remove_const( declarations.remove_reference(self.user_type)) if declarations.is_same(declarations.char_t(), no_ref): return "ctypes.c_char_p" elif declarations.is_same(declarations.wchar_t(), no_ref): return "ctypes.c_wchar_p" elif declarations.is_same(declarations.void_t(), no_ref): return "ctypes.c_void_p" else: base_visitor = self.create_converter(self.user_type.base) internal_type_str = declarations.apply_visitor( base_visitor, base_visitor.user_type) return "ctypes.POINTER( %s )" % internal_type_str
def visit_pointer( self ): no_ptr = declarations.remove_const( declarations.remove_pointer( self.user_type ) ) if declarations.is_same( declarations.char_t(), no_ptr ) and self.treat_char_ptr_as_binary_data == False: return "ctypes.c_char_p" elif declarations.is_same( declarations.wchar_t(), no_ptr ) and self.treat_char_ptr_as_binary_data == False: return "ctypes.c_wchar_p" elif declarations.is_same( declarations.void_t(), no_ptr ): return "ctypes.c_void_p" else: base_visitor = self.create_converter( self.user_type.base ) internal_type_str = declarations.apply_visitor( base_visitor, base_visitor.user_type ) if declarations.is_calldef_pointer( self.user_type ): return internal_type_str else: return "ctypes.POINTER( %s )" % internal_type_str
def visit_pointer(self): no_ptr = declarations.remove_const( declarations.remove_pointer(self.user_type)) if declarations.is_same( declarations.char_t(), no_ptr) and self.treat_char_ptr_as_binary_data == False: return "ctypes.c_char_p" elif declarations.is_same( declarations.wchar_t(), no_ptr) and self.treat_char_ptr_as_binary_data == False: return "ctypes.c_wchar_p" elif declarations.is_same(declarations.void_t(), no_ptr): return "ctypes.c_void_p" else: base_visitor = self.create_converter(self.user_type.base) internal_type_str = declarations.apply_visitor( base_visitor, base_visitor.user_type) if declarations.is_calldef_pointer(self.user_type): return internal_type_str else: return "ctypes.POINTER( %s )" % internal_type_str
def __init__(self): resolver_t.__init__(self) self.__const_wchar_pointer \ = declarations.pointer_t( declarations.const_t( declarations.wchar_t() ) )
def __init__( self ): resolver_t.__init__( self ) self.__const_wchar_pointer \ = declarations.pointer_t( declarations.const_t( declarations.wchar_t() ) )