History log of /system/connectivity/apmanager/control_interface.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
685dd4acea083dc74105edbdf8a06e539c291a45 22-Nov-2015 Peter Qiu <zqiu@google.com> Provide abstraction for ManagerAdaptorInterface

D-Bus implementation of the interface is also included.

Bug: 24194427
TEST=Build apmanager for both Brillo and Chrome OS

Change-Id: Id2478673cbca36279fb9e5e87a203a4eb021d1db
/system/connectivity/apmanager/control_interface.h
0e92d1ea02ff4aec2a3c333dd2258d81c1211ace 20-Nov-2015 Peter Qiu <zqiu@google.com> Define and implement an AdaptorInterface for Service

This interface will be used by Service to communicate with
the adaptor that exposes its functionality over IPC.

The D-Bus implementation of this interface is included, and
integrated to the D-Bus control interface.

Bug: 24194427
TEST=Build apmanager for both Brillo and Chrome OS

Change-Id: Ib87e13247cb4fbff53081b2e5cbad61bb499ce31
/system/connectivity/apmanager/control_interface.h
00029783fc5a927dd0cddc03bdcd8e760655ce46 17-Nov-2015 Peter Qiu <zqiu@google.com> Define and implement an AdaptorInterface for Config

This interface will be used by Config to communicate with
the adaptor that exposes its functionality over IPC.

The D-Bus implementation of this interface is included, and
integrated to the D-Bus control interface.

An upcoming CL will integrate this AdaptorInterface to the
Config class, to decouple Config class from the underlying
RPC implementation.

Bug: 24194427
TEST=Build apmanager for both Brillo and Chrome OS

Change-Id: I61d46c37bac875ce4a196dcc4abb752f5880ec50
/system/connectivity/apmanager/control_interface.h
f933540bb968efa2744ee48b40ab713ccd358d51 16-Nov-2015 Peter Qiu <zqiu@google.com> Refactor D-Bus adaptor for Device out of the Device class

This removes the RPC specific dependencies out of the Device class.
Device adaptors will now be created through the ControlInterface.

While there, make the D-Bus object registration for Device object to
be synchronous instead of asynchronous. Since the daemon will not
be doing anything anyway besides waiting for the registration to
complete. This avoids unnecessary complexity with the object
registration.

Currently for D-Bus, the property variables are being created/stored
in the generated adaptor code. This means that the property variables
will be stored in the adaptor instead of the Device class itself.
Even though this is not ideal, there is no good way around it. In the
ideal world, the Device would maintain its property variables, and
register them with the RPC specific adaptor.

So for the unittest, we will use FakeDeviceAdaptor, which provides the
storage for the property variables.

Also currently gmock doesn't support mocking of a function that returns
a unique_ptr, since it only supports copyable return value and unique_ptr
is not copyable. To work around this issue, I've created mock functions
that return a raw pointer, and override the proxy/adaptor creation
functions to use the mock function in MockControl.

Bug: 24194427
TEST=Start AP service on both Brillo and Chrome OS
TEST=Run unittests on both Brillo and Chrome OS

Change-Id: I8e9f736bb27fe6736f616dd752a37b9cc1be8dfe
/system/connectivity/apmanager/control_interface.h
0d70fa725563571fff9e91e7a86386d3d1db4667 12-Nov-2015 Peter Qiu <zqiu@google.com> dbus: perform D-Bus initialization in DBusControl

This moves the RPC specific initialization out of the Daemon class,
which makes it agnostic of the underlying RPC implementation.

Also move the ownership of Manager from Daemon to the ControlInterface
implementation. So the ControlInterface is now responsible for
creating Manager and exposing it through the underlying RPC interface.
This makes it easier to maintain the relevant objects (e.g. Manager,
ObjectManager), and avoids possible confusion during cleanup.

Bug: 25654681
TEST=Verify device setup works on Brillo device

Change-Id: Id2eb8d08346841e294f8286fe191708caa2cbc24
/system/connectivity/apmanager/control_interface.h
a522e0006b344c6438a18e0a4848e7cdfbf5dd0a 13-Oct-2015 Peter Qiu <zqiu@google.com> Provide an abstraction for control interface

Only define/implement APIs for creating proxies for now.

Bug: 24194427
TEST=Compile for both Android and Chrome OS

Change-Id: I55d387abd0104ab808343f244be5acaa8a4c8549
/system/connectivity/apmanager/control_interface.h