Skip to content
Open
Show file tree
Hide file tree
Changes from all 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