Chromium Code Reviews| Index: components/arc/arc_service.h |
| diff --git a/components/arc/arc_service.h b/components/arc/arc_service.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..a43e319e3d64fe2b3019351b1bb59ecd647fd119 |
| --- /dev/null |
| +++ b/components/arc/arc_service.h |
| @@ -0,0 +1,29 @@ |
| +// Copyright 2016 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 COMPONENTS_ARC_ARC_SERVICE_H_ |
| +#define COMPONENTS_ARC_ARC_SERVICE_H_ |
| + |
| +#include "base/macros.h" |
| + |
| +namespace arc { |
| + |
| +class ArcBridgeService; |
| + |
| +// Abstract class whose lifecycle will be managed by the ArcServiceManager. It |
| +// is guaranteed that once the ownership of an ArcService has been transferred |
| +// to ArcServiceManager, it will outlive the ArcBridgeService, so it is safe to |
| +// keep a weak reference to it. |
| +class ArcService { |
| + public: |
| + ArcService() {} |
|
hidehiko
2016/01/18 01:26:45
Can we move {Add,Remove}Observer(this) to this cla
Luis Héctor Chávez
2016/01/19 17:43:54
The problem with moving AddObserver(this) to this
hidehiko
2016/01/20 16:04:50
My understanding is that the goal of this CL is to
Luis Héctor Chávez
2016/01/20 18:40:46
Turns out this doesn't work in C++: https://isocpp
|
| + virtual ~ArcService() {} |
| + |
| + private: |
| + DISALLOW_COPY_AND_ASSIGN(ArcService); |
| +}; |
| + |
| +} // namespace arc |
| + |
| +#endif // COMPONENTS_ARC_ARC_SERVICE_H_ |