def _encode(self, ctxt, input_buf, output_buf, params, count):
		try:
			input_obj = databuffer.DataBuffer(handle = core.BNDuplicateDataBuffer(input_buf))
			param_map = {}
			for i in xrange(0, count):
				data = databuffer.DataBuffer(handle = core.BNDuplicateDataBuffer(params[i].value))
				param_map[params[i].name] = str(data)
			result = self.perform_encode(str(input_obj), param_map)
			if result is None:
				return False
			result = str(result)
			core.BNSetDataBufferContents(output_buf, result, len(result))
			return True
		except:
			log.log_error(traceback.format_exc())
			return False
Example #2
0
 def __init__(self, contents="", handle=None):
     if handle is not None:
         self.handle = core.handle_of_type(handle, core.BNDataBuffer)
     elif isinstance(contents, int) or isinstance(contents, long):
         self.handle = core.BNCreateDataBuffer(None, contents)
     elif isinstance(contents, DataBuffer):
         self.handle = core.BNDuplicateDataBuffer(contents.handle)
     else:
         self.handle = core.BNCreateDataBuffer(contents, len(contents))