Skip to content
Open
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions schema/appmodel/application.schema.xml
Original file line number Diff line number Diff line change
Expand Up @@ -106,12 +106,16 @@
<class name="DFApplication">
<superclass name="SmartDaqApplication"/>
<superclass name="Resource"/>
<superclass name="ManagedObject"/>
<relationship name="trb" description="Configuration of the TRB to be generated my get_modules()" class-type="TRBConf" low-cc="one" high-cc="one" is-composite="no" is-exclusive="no" is-dependent="no"/>
<relationship name="data_writers" class-type="DataWriterConf" low-cc="one" high-cc="many" is-composite="no" is-exclusive="no" is-dependent="no"/>
<relationship name="uses" class-type="DFHWConf" low-cc="one" high-cc="one" is-composite="no" is-exclusive="no" is-dependent="no"/>
<method name="generate_modules" description="Generate DaqModule dal objects for streams of the application on the fly">
<method-implementation language="c++" prototype="void generate_modules(const confmodel::Session*) const override" body=""/>
</method>
<method name="object_tags" description="">
<method-implementation language="c++" prototype="std::set&lt;std::string&gt; object_tags() const override" body=""/>
</method>
</class>

<class name="DFHWConf">
Expand Down
11 changes: 11 additions & 0 deletions src/DFApplication.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,17 @@ fill_sourceid_object_from_app(const ConfigObjectFactory& obj_fac,
sidNetObj.set_objs("source_ids", source_id_objs);
}

std::set<std::string>
DFApplication::object_tags() const {
std::set<std::string> tags;
auto host = get_runs_on()->get_runs_on()->UID();
for (auto writer : get_data_writers()) {
auto path = writer->get_data_store_params()->get_directory_path();
tags.insert("storage:"+host+":"+path);
}
return tags;
}

void
DFApplication::generate_modules(const confmodel::Session* session) const
{
Expand Down