Skip to content
Snippets Groups Projects
Commit 68a04b17 authored by Edgard MFoumoune's avatar Edgard MFoumoune Committed by Arafat NOUREDDINE
Browse files

see #ICATHALES-589 : [DANTEDPP] : Implement Device Tango command GetDataStreams

parent e556087b
No related branches found
No related tags found
1 merge request!3Main
......@@ -1696,8 +1696,43 @@ Tango::DevVarStringArray *DanteDpp::get_data_streams()
DEBUG_STREAM << "DanteDpp::GetDataStreams() - " << device_name << endl;
/*----- PROTECTED REGION ID(DanteDpp::get_data_streams) ENABLED START -----*/
// Add your own code
argout = new Tango::DevVarStringArray();
argout->length(1);
try
{
std::string data_items;
const std::vector<std::string>& data_items_container = streamItems;
for(int ichan = 0; ichan < Controller::get_instance()->get_channels_nb(); ichan++)
{
std::string streamItemsPrefix;
for(unsigned i = 0;i < data_items_container.size();i++)
{
std::string format = streamItemsPrefix + data_items_container.at(i) + "%02d,";
data_items += yat::String::str_format(format.c_str(), ichan);
}
}
//remove the last character ',' in data_items
data_items = data_items.substr(0, data_items.length()-1);
std::string data_streams = Controller::get_instance()->get_stream_target_file() + ":" + data_items + "@" + spoolID;
YAT_VERBOSE << "data_streams = " << data_streams << std::endl;
(*argout)[0] = CORBA::string_dup(data_streams.c_str());
}
catch(Tango::DevFailed& df)
{
std::stringstream status;
status.str("");
status << "Origin\t: " << df.errors[0].origin << endl;
status << "Desc\t: " << df.errors[0].desc << endl;
status << "Reason\t: " << df.errors[0].reason << endl;
set_status(status.str());
Tango::Except::throw_exception("TANGO_DEVICE_ERROR",
std::string(df.errors[0].desc).c_str(),
"DanteDpp::get_data_streams()");
}
/*----- PROTECTED REGION END -----*/ // DanteDpp::get_data_streams
return argout;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment