#include "copy.h"
#include "str.h"
#include <assert.h>
#include <stdlib.h>
#include <string.h>
Include dependency graph for copy.c:
Go to the source code of this file.
static bs_data_type* copy_data_type | ( | const bs_data_type * | orig | ) | [inline, static] |
Copy the given data type and return the malloced copy.
Definition at line 46 of file copy.c.
References bs_data_type::builtin, and bs_data_type::name.
Referenced by copy_data_types(), and copy_part_instance().
static void copy_data_types | ( | const bs_definition * | orig, | |
bs_definition * | cpy | |||
) | [static] |
Copy the data types of the definition into the given copy.
orig | Definition to copy data types from | |
cpy | Malloced bs_definition to put the copied types into |
Definition at line 64 of file copy.c.
References copy_data_type(), bs_definition::data_types, and bs_definition::num_data_types.
Referenced by copy_definition().
Here is the call graph for this function:
bs_definition* copy_definition | ( | const bs_definition * | def | ) |
Create a deep copy of the given definition which is allocated using traditional memory allocation techniques.
def | The bs_definition that is to be deep-copied |
Definition at line 274 of file copy.c.
References copy_data_types(), copy_messages(), copy_port_types(), copy_services(), and bs_definition::name.
Referenced by copy_bs_definition().
Here is the call graph for this function:
static void copy_message_instance_data | ( | const bs_message_instance * | orig, | |
bs_message_instance * | cpy | |||
) | [static] |
Definition at line 310 of file copy.c.
References copy_part_instance(), bs_message_instance::name, bs_message_instance::num_parts, and bs_message_instance::parts.
Referenced by copy_request(), and copy_response().
Here is the call graph for this function:
static bs_message_part* copy_message_part | ( | bs_message_part * | orig, | |
const bs_definition * | curdef | |||
) | [static] |
Make a malloced copy of the message part, using the given definition, which is the definition copy being created, as a reference for the data types.
orig | The original message part to be copied | |
curdef | The definition copy that is being created |
Definition at line 86 of file copy.c.
References bs_definition::data_types, bs_definition::from_mp, bs_data_type::name, bs_message_part::name, bs_definition::num_data_types, streq(), and bs_message_part::type.
Referenced by copy_message_parts().
Here is the call graph for this function:
static void copy_message_parts | ( | const bs_message * | orig, | |
bs_message * | cpy, | |||
const bs_definition * | curdef | |||
) | [static] |
Make a deep malloced copy of the message parts of the given message.
orig | The original message to copy | |
cpy | The copy of the message being created | |
curdef | The copy of the definition being created for referencing |
Definition at line 117 of file copy.c.
References copy_message_part(), bs_message::num_parts, and bs_message::parts.
Referenced by copy_messages().
Here is the call graph for this function:
static void copy_messages | ( | const bs_definition * | orig, | |
bs_definition * | cpy | |||
) | [static] |
Make a deep malloced copy of all the messages from the given definition.
orig | Original definition to copy messages from | |
cpy | Copy being created |
Definition at line 137 of file copy.c.
References copy_message_parts(), bs_definition::messages, bs_message::name, and bs_definition::num_messages.
Referenced by copy_definition().
Here is the call graph for this function:
static void copy_operation | ( | const bs_operation * | orig, | |
bs_operation * | cpy, | |||
const bs_definition * | curdef | |||
) | [static] |
Copy the operation from the original definition into the copy.
Definition at line 158 of file copy.c.
References bs_operation::fault, bs_operation::input, bs_definition::messages, bs_message::name, bs_operation::name, bs_definition::num_messages, bs_operation::output, and streq().
Referenced by copy_operations().
Here is the call graph for this function:
static void copy_operations | ( | const bs_port_type * | orig, | |
bs_port_type * | cpy, | |||
const bs_definition * | curdef | |||
) | [static] |
Copy the operation from the original definition into the copy.
Definition at line 184 of file copy.c.
References copy_operation(), bs_port_type::num_operations, and bs_port_type::operations.
Referenced by copy_port_types().
Here is the call graph for this function:
static bs_part_instance* copy_part_instance | ( | const bs_part_instance * | orig | ) | [static] |
Definition at line 293 of file copy.c.
References copy_data_type(), bs_part_instance::data, bs_part_instance::name, bs_part_instance::size, and bs_part_instance::type.
Referenced by copy_message_instance_data().
Here is the call graph for this function:
static void copy_port | ( | const bs_port * | orig, | |
bs_port * | cpy, | |||
const bs_definition * | curdef | |||
) | [static] |
Definition at line 219 of file copy.c.
References bs_port_type::name, bs_port::name, bs_definition::num_port_types, bs_port::port_type, bs_definition::port_types, and streq().
Referenced by copy_ports().
Here is the call graph for this function:
static void copy_port_types | ( | const bs_definition * | orig, | |
bs_definition * | cpy | |||
) | [static] |
Definition at line 201 of file copy.c.
References copy_operations(), bs_port_type::name, bs_definition::num_port_types, and bs_definition::port_types.
Referenced by copy_definition().
Here is the call graph for this function:
static void copy_ports | ( | const bs_service * | orig, | |
bs_service * | cpy, | |||
const bs_definition * | curdef | |||
) | [static] |
Definition at line 239 of file copy.c.
References copy_port(), bs_service::num_ports, and bs_service::ports.
Referenced by copy_services().
Here is the call graph for this function:
bs_service_request* copy_request | ( | const bs_service_request * | req | ) |
Create a deep copy of the given request which is allocated using traditional memory allocation techniques.
def | The bs_service_request that is to be deep-copied |
Definition at line 327 of file copy.c.
References copy_message_instance_data(), bs_service_request::input, bs_service_request::operation, bs_service_request::port, bs_service_request::service, and bs_service_request::uuid.
Here is the call graph for this function:
bs_service_response* copy_response | ( | const bs_service_response * | resp | ) |
Create a deep copy of the given response which is allocated using traditional memory allocation techniques.
def | The bs_service_response that is to be deep-copied |
Definition at line 354 of file copy.c.
References copy_message_instance_data(), bs_service_response::fault, bs_service_response::operation, bs_service_response::output, bs_service_response::port, bs_service_response::service, and bs_service_response::uuid.
Referenced by copy_bs_service_response(), and handle_service_request().
Here is the call graph for this function:
static void copy_services | ( | const bs_definition * | orig, | |
bs_definition * | cpy | |||
) | [static] |
Definition at line 256 of file copy.c.
References copy_ports(), bs_service::name, bs_definition::num_services, and bs_definition::services.
Referenced by copy_definition().
Here is the call graph for this function:
static void delete_data_types | ( | bs_definition * | def | ) | [static] |
Definition at line 383 of file copy.c.
References bs_definition::data_types, bs_definition::from_mp, and bs_definition::num_data_types.
Referenced by delete_definition().
void delete_definition | ( | bs_definition * | def | ) |
Free a malloced bs_definition by also freeing its internal structures. Make sure that the passed definition is allocated from a pool and not from a memory pool.
def | The definition to be deleted |
Definition at line 464 of file copy.c.
References delete_data_types(), delete_messages(), delete_port_types(), delete_services(), bs_definition::from_mp, and bs_definition::name.
Referenced by delete_bs_definition().
Here is the call graph for this function:
static void delete_instance_part | ( | bs_part_instance * | part | ) | [inline, static] |
Definition at line 480 of file copy.c.
References bs_part_instance::data, bs_data_type::name, bs_part_instance::name, and bs_part_instance::type.
Referenced by delete_message_instance().
static void delete_message_instance | ( | bs_message_instance * | msg | ) | [static] |
Definition at line 490 of file copy.c.
References delete_instance_part(), bs_message_instance::from_mp, bs_message_instance::name, bs_message_instance::num_parts, and bs_message_instance::parts.
Referenced by delete_request(), and delete_response().
Here is the call graph for this function:
static void delete_message_parts | ( | bs_message * | msg | ) | [static] |
Definition at line 395 of file copy.c.
References bs_message::from_mp, bs_message_part::name, bs_message::num_parts, and bs_message::parts.
Referenced by delete_messages().
static void delete_messages | ( | bs_definition * | def | ) | [static] |
Definition at line 405 of file copy.c.
References delete_message_parts(), bs_definition::from_mp, bs_definition::messages, and bs_definition::num_messages.
Referenced by delete_definition().
Here is the call graph for this function:
static void delete_operations | ( | bs_port_type * | type | ) | [static] |
Definition at line 418 of file copy.c.
References bs_port_type::from_mp, bs_operation::name, bs_port_type::num_operations, and bs_port_type::operations.
Referenced by delete_port_types().
static void delete_port_types | ( | bs_definition * | def | ) | [static] |
Definition at line 428 of file copy.c.
References delete_operations(), bs_definition::from_mp, bs_definition::num_port_types, and bs_definition::port_types.
Referenced by delete_definition().
Here is the call graph for this function:
static void delete_ports | ( | bs_service * | svc | ) | [static] |
Definition at line 441 of file copy.c.
References bs_service::from_mp, bs_port::name, bs_service::num_ports, and bs_service::ports.
Referenced by delete_services().
void delete_request | ( | bs_service_request * | req | ) |
Free a malloced bs_service_request by also freeing its internal structures. Make sure that the passed request is allocated from a pool and not from a memory pool.
def | The definition to be deleted |
Definition at line 507 of file copy.c.
References delete_message_instance(), bs_service_request::from_mp, bs_service_request::input, bs_service_request::operation, bs_service_request::port, and bs_service_request::service.
Here is the call graph for this function:
void delete_response | ( | bs_service_response * | resp | ) |
Free a malloced bs_service_response by also freeing its internal structures. Make sure that the passed response is allocated from a pool and not from a memory pool.
def | The definition to be deleted |
Definition at line 521 of file copy.c.
References delete_message_instance(), bs_service_response::fault, bs_service_response::from_mp, bs_service_response::operation, bs_service_response::output, bs_service_response::port, and bs_service_response::service.
Referenced by handle_http_post().
Here is the call graph for this function:
static void delete_services | ( | bs_definition * | def | ) | [static] |
Definition at line 451 of file copy.c.
References delete_ports(), bs_definition::from_mp, bs_definition::num_services, and bs_definition::services.
Referenced by delete_definition().
Here is the call graph for this function: