32 std::shared_ptr<Call>
getCall(
const std::string& callId)
const
34 std::lock_guard
l(mutex_);
35 auto i = calls_.find(callId);
36 return i == calls_.end() ? std::shared_ptr<Call> {} :
i->second.lock();
40 std::lock_guard
l(mutex_);
42 return i == conferences_.end() ? std::shared_ptr<Conference> {} :
i->second;
45 void add(
const std::shared_ptr<Call>& call)
47 std::lock_guard
l(mutex_);
48 calls_.emplace(call->getCallId(), call);
52 std::lock_guard
l(mutex_);
55 bool remove(
const std::shared_ptr<Call>& call)
57 std::lock_guard
l(mutex_);
58 return calls_.erase(call->getCallId()) > 0;
62 std::lock_guard
l(mutex_);
63 return conferences_.erase(
confId) > 0;
68 std::lock_guard
l(mutex_);
69 std::vector<std::string>
ids;
70 ids.reserve(calls_.size());
71 for (
const auto&
callIt : calls_)
75 std::vector<std::shared_ptr<Call>>
getCalls()
const
77 std::lock_guard
l(mutex_);
78 std::vector<std::shared_ptr<Call>>
calls;
79 calls.reserve(calls_.size());
80 for (
const auto&
callIt : calls_)
81 if (
auto call =
callIt.second.lock())
82 calls.emplace_back(std::move(call));
88 std::lock_guard
l(mutex_);
89 std::vector<std::string>
ids;
90 ids.reserve(conferences_.size());
91 for (
const auto&
confIt : conferences_)
97 std::lock_guard
l(mutex_);
98 std::vector<std::shared_ptr<Conference>>
confs;
99 confs.reserve(conferences_.size());
100 for (
const auto&
confIt : conferences_)
107 mutable std::mutex mutex_;
108 std::map<std::string, std::weak_ptr<Call>> calls_;
109 std::map<std::string, std::shared_ptr<Conference>> conferences_;
std::vector< std::shared_ptr< Conference > > getConferences() const
bool remove(const std::shared_ptr< Call > &call)
std::vector< std::string > getCallIds() const
void add(const std::shared_ptr< Call > &call)
std::vector< std::shared_ptr< Call > > getCalls() const
std::vector< std::string > getConferenceIds() const
std::shared_ptr< Conference > getConference(const std::string &conferenceId) const
void add(const std::shared_ptr< Conference > &conference)
bool removeConference(const std::string &confId)
std::shared_ptr< Call > getCall(const std::string &callId) const
void emitSignal(Args... args)