Index: mojo/public/cpp/bindings/lib/interface_ptr_internal.h |
diff --git a/mojo/public/cpp/bindings/lib/interface_ptr_internal.h b/mojo/public/cpp/bindings/lib/interface_ptr_internal.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..ba8a88fca1c7b4fbd6a9dffd37a6aaf8efd73280 |
--- /dev/null |
+++ b/mojo/public/cpp/bindings/lib/interface_ptr_internal.h |
@@ -0,0 +1,36 @@ |
+// Copyright 2014 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef MOJO_PUBLIC_CPP_BINDINGS_LIB_INTERFACE_PTR_INTERNAL_H_ |
+#define MOJO_PUBLIC_CPP_BINDINGS_LIB_INTERFACE_PTR_INTERNAL_H_ |
+ |
+#include "mojo/public/cpp/bindings/lib/router.h" |
+ |
+namespace mojo { |
+namespace internal { |
+ |
+class InterfacePtrContext { |
+ public: |
+ InterfacePtrContext(ScopedMessagePipeHandle handle, |
+ MojoAsyncWaiter* waiter = GetDefaultAsyncWaiter()); |
+ ~InterfacePtrContext(); |
+ |
+ Router* router() { return &router_; } |
+ |
+ protected: |
+ Router router_; |
+}; |
+ |
+#ifndef NDEBUG |
+int GetDetachedStateCount(); |
+void LogDetachedState(void* address, int count); |
+#else |
+static inline int GetDetachedStateCount() { return 0; } |
+static inline void LogDetachedState(void* address, int count) {} |
+#endif |
+ |
+} // namespace internal |
+} // namespace mojo |
+ |
+#endif // MOJO_PUBLIC_CPP_BINDINGS_LIB_INTERFACE_PTR_INTERNAL_H_ |