source: imaps-frontend/node_modules/@parcel/watcher/src/watchman/WatchmanBackend.hh@ 0c6b92a

main
Last change on this file since 0c6b92a was 0c6b92a, checked in by stefan toskovski <stefantoska84@…>, 5 weeks ago

Pred finalna verzija

  • Property mode set to 100644
File size: 971 bytes
Line 
1#ifndef WATCHMAN_H
2#define WATCHMAN_H
3
4#include "../Backend.hh"
5#include "./BSER.hh"
6#include "../Signal.hh"
7#include "./IPC.hh"
8
9class WatchmanBackend : public Backend {
10public:
11 static bool checkAvailable();
12 void start() override;
13 WatchmanBackend() : mStopped(false) {};
14 ~WatchmanBackend();
15 void writeSnapshot(WatcherRef watcher, std::string *snapshotPath) override;
16 void getEventsSince(WatcherRef watcher, std::string *snapshotPath) override;
17 void subscribe(WatcherRef watcher) override;
18 void unsubscribe(WatcherRef watcher) override;
19private:
20 std::unique_ptr<IPC> mIPC;
21 Signal mRequestSignal;
22 Signal mResponseSignal;
23 BSER::Object mResponse;
24 std::string mError;
25 std::unordered_map<std::string, WatcherRef> mSubscriptions;
26 bool mStopped;
27 Signal mEndedSignal;
28
29 std::string clock(WatcherRef watcher);
30 void watchmanWatch(std::string dir);
31 BSER::Object watchmanRequest(BSER cmd);
32 void handleSubscription(BSER::Object obj);
33};
34
35#endif
Note: See TracBrowser for help on using the repository browser.