Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(74)

Side by Side Diff: mojo/public/bindings/lib/connector.h

Issue 69283002: Revert "Mojo: Add BindingsSupportImpl on top of HandleWatcher" (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « mojo/public/bindings/lib/bindings_support.h ('k') | mojo/public/bindings/lib/connector.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef MOJO_PUBLIC_BINDINGS_LIB_CONNECTOR_H_ 5 #ifndef MOJO_PUBLIC_BINDINGS_LIB_CONNECTOR_H_
6 #define MOJO_PUBLIC_BINDINGS_LIB_CONNECTOR_H_ 6 #define MOJO_PUBLIC_BINDINGS_LIB_CONNECTOR_H_
7 7
8 #include "mojo/public/bindings/lib/bindings_support.h" 8 #include "mojo/public/bindings/lib/bindings_support.h"
9 #include "mojo/public/bindings/lib/message.h" 9 #include "mojo/public/bindings/lib/message.h"
10 #include "mojo/public/bindings/lib/message_queue.h" 10 #include "mojo/public/bindings/lib/message_queue.h"
(...skipping 24 matching lines...) Expand all
35 // the message pipe. 35 // the message pipe.
36 bool EncounteredError() const { return error_; } 36 bool EncounteredError() const { return error_; }
37 37
38 // MessageReceiver implementation: 38 // MessageReceiver implementation:
39 virtual bool Accept(Message* message) MOJO_OVERRIDE; 39 virtual bool Accept(Message* message) MOJO_OVERRIDE;
40 40
41 private: 41 private:
42 class Callback : public BindingsSupport::AsyncWaitCallback { 42 class Callback : public BindingsSupport::AsyncWaitCallback {
43 public: 43 public:
44 Callback(); 44 Callback();
45 virtual ~Callback();
46 45
46 void Cancel();
47 void SetOwnerToNotify(Connector* owner); 47 void SetOwnerToNotify(Connector* owner);
48 void SetAsyncWaitID(BindingsSupport::AsyncWaitID async_wait_id); 48 bool IsPending() const;
49 49
50 virtual void OnHandleReady(MojoResult result) MOJO_OVERRIDE; 50 virtual void OnHandleReady(MojoResult result) MOJO_OVERRIDE;
51 51
52 private: 52 private:
53 Connector* owner_; 53 Connector* owner_;
54 BindingsSupport::AsyncWaitID async_wait_id_;
55 }; 54 };
56 friend class Callback; 55 friend class Callback;
57 56
58 void OnHandleReady(Callback* callback, MojoResult result); 57 void OnHandleReady(Callback* callback, MojoResult result);
59 void WaitToReadMore(); 58 void WaitToReadMore();
60 void WaitToWriteMore(); 59 void WaitToWriteMore();
61 void ReadMore(); 60 void ReadMore();
62 void WriteMore(); 61 void WriteMore();
63 void WriteOne(Message* message, bool* wait_to_write); 62 void WriteOne(Message* message, bool* wait_to_write);
64 63
65 Handle message_pipe_; 64 Handle message_pipe_;
66 MessageReceiver* incoming_receiver_; 65 MessageReceiver* incoming_receiver_;
67 MessageQueue write_queue_; 66 MessageQueue write_queue_;
68 67
69 Callback read_callback_; 68 Callback read_callback_;
70 Callback write_callback_; 69 Callback write_callback_;
71 70
72 bool error_; 71 bool error_;
73
74 MOJO_DISALLOW_COPY_AND_ASSIGN(Connector);
75 }; 72 };
76 73
77 } // namespace mojo 74 } // namespace mojo
78 75
79 #endif // MOJO_PUBLIC_BINDINGS_LIB_CONNECTOR_H_ 76 #endif // MOJO_PUBLIC_BINDINGS_LIB_CONNECTOR_H_
OLDNEW
« no previous file with comments | « mojo/public/bindings/lib/bindings_support.h ('k') | mojo/public/bindings/lib/connector.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698