* More cleanup.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34593 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler
2009-12-09 16:48:49 +00:00
parent 9c3b4706dd
commit 1fcbc5470b
3 changed files with 129 additions and 119 deletions
+1 -1
View File
@@ -26,7 +26,7 @@ enum {
struct xfer_server_get_dormant_flavor_info { struct xfer_server_get_dormant_flavor_info {
media_addon_id addon; media_addon_id add_on_id;
int32 flavor_id; int32 flavor_id;
port_id reply_port; port_id reply_port;
}; };
+1 -1
View File
@@ -2602,7 +2602,7 @@ BMediaRosterEx::GetDormantFlavorInfo(media_addon_id addonID, int32 flavorID,
return B_NO_MEMORY; return B_NO_MEMORY;
xfer_server_get_dormant_flavor_info msg; xfer_server_get_dormant_flavor_info msg;
msg.addon = addonID; msg.add_on_id = addonID;
msg.flavor_id = flavorID; msg.flavor_id = flavorID;
msg.reply_port = gPortPool->GetPort(); msg.reply_port = gPortPool->GetPort();
status_t status = write_port(port, SERVER_GET_DORMANT_FLAVOR_INFO, &msg, status_t status = write_port(port, SERVER_GET_DORMANT_FLAVOR_INFO, &msg,
+127 -117
View File
@@ -273,7 +273,6 @@ ServerApp::_QuitAddOnServer()
void void
ServerApp::_HandleMessage(int32 code, const void* data, size_t size) ServerApp::_HandleMessage(int32 code, const void* data, size_t size)
{ {
status_t rv;
TRACE("ServerApp::HandleMessage %#lx enter\n", code); TRACE("ServerApp::HandleMessage %#lx enter\n", code);
switch (code) { switch (code) {
case SERVER_CHANGE_FLAVOR_INSTANCES_COUNT: case SERVER_CHANGE_FLAVOR_INSTANCES_COUNT:
@@ -466,55 +465,59 @@ ServerApp::_HandleMessage(int32 code, const void* data, size_t size)
case SERVER_PUBLISH_INPUTS: case SERVER_PUBLISH_INPUTS:
{ {
const server_publish_inputs_request *request const server_publish_inputs_request& request
= static_cast<const server_publish_inputs_request *>(data); = *static_cast<const server_publish_inputs_request*>(data);
server_publish_inputs_reply reply; server_publish_inputs_reply reply;
if (request->count <= MAX_INPUTS) { status_t status;
rv = gNodeManager->PublishInputs(request->node,
request->inputs, request->count); if (request.count <= MAX_INPUTS) {
status = gNodeManager->PublishInputs(request.node,
request.inputs, request.count);
} else { } else {
media_input *inputs; media_input* inputs;
area_id clone; area_id clone;
clone = clone_area("media_inputs clone", (void**)&inputs, clone = clone_area("media_inputs clone", (void**)&inputs,
B_ANY_ADDRESS, B_READ_AREA | B_WRITE_AREA, request->area); B_ANY_ADDRESS, B_READ_AREA | B_WRITE_AREA, request.area);
if (clone < B_OK) { if (clone < B_OK) {
ERROR("SERVER_PUBLISH_INPUTS: failed to clone area, " ERROR("SERVER_PUBLISH_INPUTS: failed to clone area, "
"error %#lx\n", clone); "error %#lx\n", clone);
rv = B_ERROR; status = clone;
} else { } else {
rv = gNodeManager->PublishInputs(request->node, inputs, status = gNodeManager->PublishInputs(request.node, inputs,
request->count); request.count);
delete_area(clone); delete_area(clone);
} }
} }
request->SendReply(rv, &reply, sizeof(reply)); request.SendReply(status, &reply, sizeof(reply));
break; break;
} }
case SERVER_PUBLISH_OUTPUTS: case SERVER_PUBLISH_OUTPUTS:
{ {
const server_publish_outputs_request *request const server_publish_outputs_request& request
= static_cast<const server_publish_outputs_request *>(data); = *static_cast<const server_publish_outputs_request*>(data);
server_publish_outputs_reply reply; server_publish_outputs_reply reply;
if (request->count <= MAX_OUTPUTS) { status_t status;
rv = gNodeManager->PublishOutputs(request->node,
request->outputs, request->count); if (request.count <= MAX_OUTPUTS) {
status = gNodeManager->PublishOutputs(request.node,
request.outputs, request.count);
} else { } else {
media_output *outputs; media_output* outputs;
area_id clone; area_id clone;
clone = clone_area("media_outputs clone", (void**)&outputs, clone = clone_area("media_outputs clone", (void**)&outputs,
B_ANY_ADDRESS, B_READ_AREA | B_WRITE_AREA, request->area); B_ANY_ADDRESS, B_READ_AREA | B_WRITE_AREA, request.area);
if (clone < B_OK) { if (clone < B_OK) {
ERROR("SERVER_PUBLISH_OUTPUTS: failed to clone area, " ERROR("SERVER_PUBLISH_OUTPUTS: failed to clone area, "
"error %#lx\n", clone); "error %#lx\n", clone);
rv = B_ERROR; status = clone;
} else { } else {
rv = gNodeManager->PublishOutputs(request->node, outputs, status = gNodeManager->PublishOutputs(request.node, outputs,
request->count); request.count);
delete_area(clone); delete_area(clone);
} }
} }
request->SendReply(rv, &reply, sizeof(reply)); request.SendReply(status, &reply, sizeof(reply));
break; break;
} }
@@ -597,14 +600,14 @@ ServerApp::_HandleMessage(int32 code, const void* data, size_t size)
case SERVER_REGISTER_DORMANT_NODE: case SERVER_REGISTER_DORMANT_NODE:
{ {
xfer_server_register_dormant_node* msg xfer_server_register_dormant_node& request
= (xfer_server_register_dormant_node*)data; = *static_cast<xfer_server_register_dormant_node*>(data);
if (msg->purge_id > 0) if (request.purge_id > 0)
gNodeManager->InvalidateDormantFlavorInfo(msg->purge_id); gNodeManager->InvalidateDormantFlavorInfo(request.purge_id);
dormant_flavor_info dormantFlavorInfo; dormant_flavor_info dormantFlavorInfo;
status_t status = dormantFlavorInfo.Unflatten(msg->type, status_t status = dormantFlavorInfo.Unflatten(request.type,
msg->flattened_data, msg->flattened_size); request.flattened_data, request.flattened_size);
if (status == B_OK) if (status == B_OK)
gNodeManager->AddDormantFlavorInfo(dormantFlavorInfo); gNodeManager->AddDormantFlavorInfo(dormantFlavorInfo);
break; break;
@@ -612,28 +615,29 @@ ServerApp::_HandleMessage(int32 code, const void* data, size_t size)
case SERVER_GET_DORMANT_NODES: case SERVER_GET_DORMANT_NODES:
{ {
xfer_server_get_dormant_nodes *msg xfer_server_get_dormant_nodes& request
= (xfer_server_get_dormant_nodes *)data; = *static_cast<xfer_server_get_dormant_nodes*>(data);
xfer_server_get_dormant_nodes_reply reply; xfer_server_get_dormant_nodes_reply reply;
reply.count = msg->max_count; reply.count = request.max_count;
dormant_node_info* infos dormant_node_info* infos
= new(std::nothrow) dormant_node_info[reply.count]; = new(std::nothrow) dormant_node_info[reply.count];
if (infos != NULL) { if (infos != NULL) {
reply.result = gNodeManager->GetDormantNodes(infos, reply.result = gNodeManager->GetDormantNodes(infos,
&reply.count, msg->has_input ? &msg->input_format : NULL, &reply.count,
msg->has_output ? &msg->output_format : NULL, request.has_input ? &request.input_format : NULL,
msg->has_name ? msg->name : NULL, msg->require_kinds, request.has_output ? &request.output_format : NULL,
msg->deny_kinds); request.has_name ? request.name : NULL,
request.require_kinds, request.deny_kinds);
} else } else
reply.result = B_NO_MEMORY; reply.result = B_NO_MEMORY;
if (reply.result != B_OK) if (reply.result != B_OK)
reply.count = 0; reply.count = 0;
write_port(msg->reply_port, 0, &reply, sizeof(reply)); write_port(request.reply_port, 0, &reply, sizeof(reply));
if (reply.count > 0) { if (reply.count > 0) {
write_port(msg->reply_port, 0, infos, write_port(request.reply_port, 0, infos,
reply.count * sizeof(dormant_node_info)); reply.count * sizeof(dormant_node_info));
} }
delete[] infos; delete[] infos;
@@ -642,17 +646,16 @@ ServerApp::_HandleMessage(int32 code, const void* data, size_t size)
case SERVER_GET_DORMANT_FLAVOR_INFO: case SERVER_GET_DORMANT_FLAVOR_INFO:
{ {
xfer_server_get_dormant_flavor_info *msg xfer_server_get_dormant_flavor_info& request
= (xfer_server_get_dormant_flavor_info *)data; = *static_cast<xfer_server_get_dormant_flavor_info*>(data);
dormant_flavor_info dormantFlavorInfo; dormant_flavor_info dormantFlavorInfo;
status_t rv;
rv = gNodeManager->GetDormantFlavorInfoFor(msg->addon, status_t status = gNodeManager->GetDormantFlavorInfoFor(
msg->flavor_id, &dormantFlavorInfo); request.add_on_id, request.flavor_id, &dormantFlavorInfo);
if (rv != B_OK) { if (status != B_OK) {
xfer_server_get_dormant_flavor_info_reply reply; xfer_server_get_dormant_flavor_info_reply reply;
reply.result = rv; reply.result = status;
write_port(msg->reply_port, 0, &reply, sizeof(reply)); write_port(request.reply_port, 0, &reply, sizeof(reply));
} else { } else {
size_t replySize size_t replySize
= sizeof(xfer_server_get_dormant_flavor_info_reply) = sizeof(xfer_server_get_dormant_flavor_info_reply)
@@ -666,12 +669,12 @@ ServerApp::_HandleMessage(int32 code, const void* data, size_t size)
reply->result = dormantFlavorInfo.Flatten( reply->result = dormantFlavorInfo.Flatten(
reply->flattened_data, reply->flattened_size); reply->flattened_data, reply->flattened_size);
write_port(msg->reply_port, 0, reply, replySize); write_port(request.reply_port, 0, reply, replySize);
free(reply); free(reply);
} else { } else {
xfer_server_get_dormant_flavor_info_reply reply; xfer_server_get_dormant_flavor_info_reply reply;
reply.result = B_NO_MEMORY; reply.result = B_NO_MEMORY;
write_port(msg->reply_port, 0, &reply, sizeof(reply)); write_port(request.reply_port, 0, &reply, sizeof(reply));
} }
} }
break; break;
@@ -679,12 +682,12 @@ ServerApp::_HandleMessage(int32 code, const void* data, size_t size)
case SERVER_SET_NODE_CREATOR: case SERVER_SET_NODE_CREATOR:
{ {
const server_set_node_creator_request* request const server_set_node_creator_request& request
= static_cast<const server_set_node_creator_request*>(data); = *static_cast<const server_set_node_creator_request*>(data);
server_set_node_creator_reply reply; server_set_node_creator_reply reply;
status_t status = gNodeManager->SetNodeCreator(request->node, status_t status = gNodeManager->SetNodeCreator(request.node,
request->creator); request.creator);
request->SendReply(status, &reply, sizeof(reply)); request.SendReply(status, &reply, sizeof(reply));
break; break;
} }
@@ -703,34 +706,35 @@ ServerApp::_HandleMessage(int32 code, const void* data, size_t size)
case SERVER_REGISTER_BUFFER: case SERVER_REGISTER_BUFFER:
{ {
const server_register_buffer_request *request const server_register_buffer_request& request
= static_cast<const server_register_buffer_request *>(data); = *static_cast<const server_register_buffer_request*>(data);
server_register_buffer_reply reply; server_register_buffer_reply reply;
status_t status; status_t status;
if (request->info.buffer == 0) {
reply.info = request->info; if (request.info.buffer == 0) {
reply.info = request.info;
// size, offset, flags, area is kept // size, offset, flags, area is kept
// get a new beuffer id into reply.info.buffer // get a new beuffer id into reply.info.buffer
status = gBufferManager->RegisterBuffer(request->team, status = gBufferManager->RegisterBuffer(request.team,
request->info.size, request->info.flags, request.info.size, request.info.flags,
request->info.offset, request->info.area, request.info.offset, request.info.area,
&reply.info.buffer); &reply.info.buffer);
} else { } else {
reply.info = request->info; // buffer id is kept reply.info = request.info; // buffer id is kept
status = gBufferManager->RegisterBuffer(request->team, status = gBufferManager->RegisterBuffer(request.team,
request->info.buffer, &reply.info.size, &reply.info.flags, request.info.buffer, &reply.info.size, &reply.info.flags,
&reply.info.offset, &reply.info.area); &reply.info.offset, &reply.info.area);
} }
request->SendReply(status, &reply, sizeof(reply)); request.SendReply(status, &reply, sizeof(reply));
break; break;
} }
case SERVER_UNREGISTER_BUFFER: case SERVER_UNREGISTER_BUFFER:
{ {
const server_unregister_buffer_command *cmd = static_cast< const server_unregister_buffer_command& request = *static_cast<
const server_unregister_buffer_command *>(data); const server_unregister_buffer_command*>(data);
gBufferManager->UnregisterBuffer(cmd->team, cmd->buffer_id); gBufferManager->UnregisterBuffer(request.team, request.buffer_id);
break; break;
} }
@@ -792,54 +796,54 @@ ServerApp::_HandleMessage(int32 code, const void* data, size_t size)
case SERVER_GET_REF_FOR: case SERVER_GET_REF_FOR:
{ {
const server_get_ref_for_request* request const server_get_ref_for_request& request
= static_cast<const server_get_ref_for_request*>(data); = *static_cast<const server_get_ref_for_request*>(data);
server_get_ref_for_reply reply; server_get_ref_for_reply reply;
entry_ref* ref; entry_ref* ref;
status_t status = gMediaFilesManager->GetRefFor(request->type, status_t status = gMediaFilesManager->GetRefFor(request.type,
request->item, &ref); request.item, &ref);
if (status == B_OK) if (status == B_OK)
reply.ref = *ref; reply.ref = *ref;
request->SendReply(status, &reply, sizeof(reply)); request.SendReply(status, &reply, sizeof(reply));
break; break;
} }
case SERVER_SET_REF_FOR: case SERVER_SET_REF_FOR:
{ {
const server_set_ref_for_request* request const server_set_ref_for_request& request
= static_cast<const server_set_ref_for_request*>(data); = *static_cast<const server_set_ref_for_request*>(data);
server_set_ref_for_reply reply; server_set_ref_for_reply reply;
entry_ref ref = request->ref; entry_ref ref = request.ref;
status_t status = gMediaFilesManager->SetRefFor(request->type, status_t status = gMediaFilesManager->SetRefFor(request.type,
request->item, ref); request.item, ref);
request->SendReply(status, &reply, sizeof(reply)); request.SendReply(status, &reply, sizeof(reply));
break; break;
} }
case SERVER_INVALIDATE_MEDIA_ITEM: case SERVER_INVALIDATE_MEDIA_ITEM:
{ {
const server_invalidate_item_request* request const server_invalidate_item_request& request
= static_cast<const server_invalidate_item_request*>(data); = *static_cast<const server_invalidate_item_request*>(data);
server_invalidate_item_reply reply; server_invalidate_item_reply reply;
status_t status = gMediaFilesManager->InvalidateItem( status_t status = gMediaFilesManager->InvalidateItem(request.type,
request->type, request->item); request.item);
request->SendReply(status, &reply, sizeof(reply)); request.SendReply(status, &reply, sizeof(reply));
break; break;
} }
case SERVER_REMOVE_MEDIA_ITEM: case SERVER_REMOVE_MEDIA_ITEM:
{ {
const server_remove_media_item_request* request const server_remove_media_item_request& request
= static_cast<const server_remove_media_item_request*>(data); = *static_cast<const server_remove_media_item_request*>(data);
server_remove_media_item_reply reply; server_remove_media_item_reply reply;
status_t status = gMediaFilesManager->RemoveItem(request->type, status_t status = gMediaFilesManager->RemoveItem(request.type,
request->item); request.item);
request->SendReply(status, &reply, sizeof(reply)); request.SendReply(status, &reply, sizeof(reply));
break; break;
} }
@@ -869,68 +873,74 @@ ServerApp::_HandleMessage(int32 code, const void* data, size_t size)
case SERVER_GET_READERS: case SERVER_GET_READERS:
{ {
const server_get_readers_request *request const server_get_readers_request& request
= static_cast<const server_get_readers_request *>(data); = *static_cast<const server_get_readers_request*>(data);
server_get_readers_reply reply; server_get_readers_reply reply;
rv = gAddOnManager->GetReaders(reply.ref, &reply.count,
status_t status = gAddOnManager->GetReaders(reply.ref, &reply.count,
MAX_READERS); MAX_READERS);
request->SendReply(rv, &reply, sizeof(reply)); request.SendReply(status, &reply, sizeof(reply));
break; break;
} }
case SERVER_GET_DECODER_FOR_FORMAT: case SERVER_GET_DECODER_FOR_FORMAT:
{ {
const server_get_decoder_for_format_request *request const server_get_decoder_for_format_request& request
= static_cast< = *static_cast<
const server_get_decoder_for_format_request *>(data); const server_get_decoder_for_format_request*>(data);
server_get_decoder_for_format_reply reply; server_get_decoder_for_format_reply reply;
rv = gAddOnManager->GetDecoderForFormat(&reply.ref,
request->format); status_t status = gAddOnManager->GetDecoderForFormat(&reply.ref,
request->SendReply(rv, &reply, sizeof(reply)); request.format);
request.SendReply(status, &reply, sizeof(reply));
break; break;
} }
case SERVER_GET_WRITER_FOR_FORMAT_FAMILY: case SERVER_GET_WRITER_FOR_FORMAT_FAMILY:
{ {
const server_get_writer_request *request const server_get_writer_request& request
= static_cast<const server_get_writer_request *>(data); = *static_cast<const server_get_writer_request*>(data);
server_get_writer_reply reply; server_get_writer_reply reply;
rv = gAddOnManager->GetWriter(&reply.ref, request->internal_id);
request->SendReply(rv, &reply, sizeof(reply)); status_t status = gAddOnManager->GetWriter(&reply.ref,
request.internal_id);
request.SendReply(status, &reply, sizeof(reply));
break; break;
} }
case SERVER_GET_FILE_FORMAT_FOR_COOKIE: case SERVER_GET_FILE_FORMAT_FOR_COOKIE:
{ {
const server_get_file_format_request *request const server_get_file_format_request& request
= static_cast<const server_get_file_format_request *>(data); = *static_cast<const server_get_file_format_request*>(data);
server_get_file_format_reply reply; server_get_file_format_reply reply;
rv = gAddOnManager->GetFileFormat(&reply.file_format,
request->cookie); status_t status = gAddOnManager->GetFileFormat(&reply.file_format,
request->SendReply(rv, &reply, sizeof(reply)); request.cookie);
request.SendReply(status, &reply, sizeof(reply));
break; break;
} }
case SERVER_GET_CODEC_INFO_FOR_COOKIE: case SERVER_GET_CODEC_INFO_FOR_COOKIE:
{ {
const server_get_codec_info_request *request const server_get_codec_info_request& request
= static_cast<const server_get_codec_info_request *>(data); = *static_cast<const server_get_codec_info_request*>(data);
server_get_codec_info_reply reply; server_get_codec_info_reply reply;
rv = gAddOnManager->GetCodecInfo(&reply.codec_info,
status_t status = gAddOnManager->GetCodecInfo(&reply.codec_info,
&reply.format_family, &reply.input_format, &reply.format_family, &reply.input_format,
&reply.output_format, request->cookie); &reply.output_format, request.cookie);
request->SendReply(rv, &reply, sizeof(reply)); request.SendReply(status, &reply, sizeof(reply));
break; break;
} }
case SERVER_GET_ENCODER_FOR_CODEC_INFO: case SERVER_GET_ENCODER_FOR_CODEC_INFO:
{ {
const server_get_encoder_for_codec_info_request *request const server_get_encoder_for_codec_info_request& request
= static_cast< = *static_cast<
const server_get_encoder_for_codec_info_request *>(data); const server_get_encoder_for_codec_info_request*>(data);
server_get_encoder_for_codec_info_reply reply; server_get_encoder_for_codec_info_reply reply;
rv = gAddOnManager->GetEncoder(&reply.ref, request->id); status_t status = gAddOnManager->GetEncoder(&reply.ref, request.id);
request->SendReply(rv, &reply, sizeof(reply)); request.SendReply(status, &reply, sizeof(reply));
break; break;
} }