summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKuntzeM <github@kuntze.email>2020-03-28 17:51:19 +0100
committerKuntzeM <github@kuntze.email>2020-03-28 17:51:19 +0100
commitac074ac552a6e9b0698cadfdb5174787800ecd4c (patch)
treec803621f7713c39646f9f263aac387073e6f174b
parentf97de5d4b6b6d77dfbe7e50432a8b3057e9361f8 (diff)
downloaddabmux-ac074ac552a6e9b0698cadfdb5174787800ecd4c.tar.gz
dabmux-ac074ac552a6e9b0698cadfdb5174787800ecd4c.tar.bz2
dabmux-ac074ac552a6e9b0698cadfdb5174787800ecd4c.zip
Revert "add linkage set activator flag to remote controllable"
This reverts commit fc1f1640278e7eb228ec1a6290d30b95f1b6a476.
-rw-r--r--src/ConfigParser.cpp1
-rw-r--r--src/MuxElements.cpp49
-rw-r--r--src/MuxElements.h34
3 files changed, 16 insertions, 68 deletions
diff --git a/src/ConfigParser.cpp b/src/ConfigParser.cpp
index 538cb76..30140bf 100644
--- a/src/ConfigParser.cpp
+++ b/src/ConfigParser.cpp
@@ -193,7 +193,6 @@ static void parse_linkage(ptree& pt,
linkageset->id_list.push_back(link);
}
}
- rcs.enrol(linkageset.get());
ensemble->linkagesets.push_back(linkageset);
}
}
diff --git a/src/MuxElements.cpp b/src/MuxElements.cpp
index 70930cb..cb2d545 100644
--- a/src/MuxElements.cpp
+++ b/src/MuxElements.cpp
@@ -805,11 +805,22 @@ size_t DabSubchannel::readFrame(uint8_t *buffer, size_t size, std::time_t second
throw logic_error("Unhandled case");
}
+LinkageSet::LinkageSet(const std::string& name,
+ uint16_t lsn,
+ bool active,
+ bool hard,
+ bool international) :
+ lsn(lsn),
+ active(active),
+ hard(hard),
+ international(international),
+ m_name(name)
+{}
LinkageSet LinkageSet::filter_type(const ServiceLinkType type)
{
- LinkageSet lsd(m_rc_name, lsn, active, hard, international);
+ LinkageSet lsd(m_name, lsn, active, hard, international);
lsd.active = active;
lsd.keyservice = keyservice;
@@ -822,39 +833,3 @@ LinkageSet LinkageSet::filter_type(const ServiceLinkType type)
return lsd;
}
-
-
-void LinkageSet::set_parameter(const string& parameter,
- const string& value)
-{
- if (parameter == "active") {
- stringstream ss;
- ss << value;
-
- lock_guard<mutex> lock(m_active_mutex);
- ss >> active;
- }
- else {
- stringstream ss;
- ss << "Parameter '" << parameter <<
- "' is not exported by controllable " << get_rc_name();
- throw ParameterError(ss.str());
- }
-}
-
-const string LinkageSet::get_parameter(const string& parameter) const
-{
- using namespace std::chrono;
-
- stringstream ss;
- if (parameter == "active") {
- lock_guard<mutex> lock(m_active_mutex);
- ss << active;
- }
- else {
- ss << "Parameter '" << parameter <<
- "' is not exported by controllable " << get_rc_name();
- throw ParameterError(ss.str());
- }
- return ss.str();
-}
diff --git a/src/MuxElements.h b/src/MuxElements.h
index 3640e6c..77d417b 100644
--- a/src/MuxElements.h
+++ b/src/MuxElements.h
@@ -546,32 +546,15 @@ struct ServiceLink {
* TS 103 176 Clause 5.2.3 "Linkage sets". This information will
* be encoded in FIG 0/6.
*/
-class LinkageSet : public RemoteControllable {
+class LinkageSet {
public:
LinkageSet(const std::string& name,
uint16_t lsn,
bool active,
bool hard,
- bool international) :
- RemoteControllable(name),
- lsn(lsn),
- active(active),
- hard(hard),
- international(international)
- {
- RC_ADD_PARAMETER(active, "Signal this linkage set active [0 or 1]");
- }
-
- LinkageSet(const LinkageSet& other) :
- LinkageSet(other.m_rc_name,
- other.lsn,
- other.active,
- other.hard,
- other.international)
- {
- }
+ bool international);
- std::string get_name(void) const { return m_rc_name; }
+ std::string get_name(void) const { return m_name; }
std::list<ServiceLink> id_list;
@@ -587,22 +570,13 @@ class LinkageSet : public RemoteControllable {
std::string keyservice; // TODO replace by pointer to service
- //LinkageSet& operator=(const LinkageSet& other) = default;
-
/* Return a LinkageSet with id_list filtered to include
* only those links of a given type
*/
LinkageSet filter_type(const ServiceLinkType type);
- /* Remote control */
- virtual void set_parameter(const std::string& parameter,
- const std::string& value);
-
- /* Getting a parameter always returns a string. */
- virtual const std::string get_parameter(const std::string& parameter) const;
-
private:
- mutable std::mutex m_active_mutex;
+ std::string m_name;
};
// FIG 0/21