3D Repo Bouncer  1.4
repo_broadcaster.h
1 
26 #pragma once
27 #include <vector>
28 #include <iostream>
29 
30 #include <algorithm> // copy, min
31 #include <iosfwd> // streamsize
32 #include <boost/iostreams/categories.hpp> // sink_tag
33 
34 #include <boost/iostreams/concepts.hpp>
35 #include <boost/iostreams/stream_buffer.hpp>
36 
37 #include "repo_listener_abstract.h"
38 
39 namespace repo{
40  namespace lib{
41  class RepoBroadcaster : public boost::iostreams::sink
42  {
43  public:
44  ~RepoBroadcaster();
45 
46  //static RepoBroadcaster* getInstance();
51 
56  void subscribe(RepoAbstractListener *subscriber)
57  {
58  if (subscriber)
59  subscribers.push_back(subscriber);
60  }
61 
65  std::streamsize write(const char* s, std::streamsize n);
66 
67  private:
68 
69  std::vector<RepoAbstractListener *> subscribers;
70  };
71  }
72 }
Definition: repo_connection_pool_mongo.h:32
void subscribe(RepoAbstractListener *subscriber)
Definition: repo_broadcaster.h:56
Definition: repo_broadcaster.h:41
RepoBroadcaster()
Definition: repo_broadcaster.cpp:5
Definition: repo_listener_abstract.h:30
std::streamsize write(const char *s, std::streamsize n)
Definition: repo_broadcaster.cpp:20