X-Git-Url: http://pilppa.org/gitweb/?p=libplpbus.git;a=blobdiff_plain;f=src%2Fplpbus%2FBusMessage.cc;h=d592a6610e48273fd50843177044c394ec7078c4;hp=0b1d9015130f26dba13625edcbfcb77c7dd5f2d4;hb=b0d18f2b84f652e012471b8339bf81b12d731d6e;hpb=4bfd0d2914d0d113ec5642618d3dcc6ffcd5bd60 diff --git a/src/plpbus/BusMessage.cc b/src/plpbus/BusMessage.cc index 0b1d901..d592a66 100644 --- a/src/plpbus/BusMessage.cc +++ b/src/plpbus/BusMessage.cc @@ -40,23 +40,11 @@ BusMessage::BusMessage(long type_param, } BusMessage::~BusMessage() { - long cnt; DataItemSequence *seq; - log_debug("BusMessage DESTRUCTOR\n"); + log_debug("\n"); seq = (DataItemSequence *)_dataItemSeq; if (seq != NULL) { - cnt = seq->length(); -/* - DataItem *item; - - for (long ii = 0; ii < cnt; ii++) { - item = seq[ii]; - log_debug("deleting BusMessage item:\n"); - printout_dataitem(ii, item); - delete(item); - } -*/ delete(seq); } } @@ -250,8 +238,9 @@ long BusMessage::get_long_parameter(string arg_name_param, int *err_flg) { seq = (DataItemSequence *)_dataItemSeq; item = get_dataitem_by_param_name(seq, arg_name_param); if (item != NULL) { - item->value >>= ret_val; - *err_flg = PLP_OK; + if (item->value >>= ret_val) { + *err_flg = PLP_OK; + } } return ret_val; } @@ -267,9 +256,10 @@ int BusMessage::get_int_parameter(string arg_name_param, int *err_flg) { seq = (DataItemSequence *)_dataItemSeq; item = get_dataitem_by_param_name(seq, arg_name_param); if (item != NULL) { - item->value >>= tmp; - ret_val = (int)tmp; - *err_flg = PLP_OK; + if (item->value >>= tmp) { + ret_val = (int)tmp; + *err_flg = PLP_OK; + } } return ret_val; } @@ -284,8 +274,8 @@ double BusMessage::get_double_parameter(string arg_name_param, int *err_flg) { seq = (DataItemSequence *)_dataItemSeq; item = get_dataitem_by_param_name(seq, arg_name_param); if (item != NULL) { - item->value >>= ret_val; - *err_flg = PLP_OK; + if (item->value >>= ret_val) + *err_flg = PLP_OK; } return ret_val; } @@ -300,12 +290,21 @@ float BusMessage::get_float_parameter(string arg_name_param, int *err_flg) { seq = (DataItemSequence *)_dataItemSeq; item = get_dataitem_by_param_name(seq, arg_name_param); if (item != NULL) { - item->value >>= ret_val; - *err_flg = PLP_OK; + if (item->value >>= ret_val) + *err_flg = PLP_OK; } return ret_val; } +unsigned long BusMessage::get_parameter_count() { + int ret_val; + DataItemSequence *seq; + + seq = (DataItemSequence *)_dataItemSeq; + ret_val = seq->length(); + return ret_val; +} + void BusMessage::printout_dataitem(long index, void *item) { CORBA::TCKind kind; const char *name; @@ -369,7 +368,6 @@ void BusMessage::printout() { count = seq->length(); log_debug("BusMessage.printout(): parameter count: %ld\n", count); for (long ii = 0; ii < count; ii++) { - printf("item[%ld]\n", ii); item = (*seq)[ii]; printout_dataitem(ii, &item); }