#ifndef MOJO_SERVICES_TEST_SERVICE_TEST_SERVICE_IMPL_H_
#define MOJO_SERVICES_TEST_SERVICE_TEST_SERVICE_IMPL_H_
+#include "base/memory/scoped_ptr.h"
#include "mojo/public/cpp/system/macros.h"
#include "mojo/services/test_service/test_service.mojom.h"
namespace mojo {
+class ApplicationConnection;
namespace test {
+class TestRequestTrackerClientImpl;
class TestServiceApplication;
-class TestServiceImpl : public InterfaceImpl<ITestService> {
+class TestServiceImpl : public InterfaceImpl<TestService> {
public:
- explicit TestServiceImpl(TestServiceApplication* application);
+ TestServiceImpl(ApplicationConnection* connection,
+ TestServiceApplication* application);
virtual ~TestServiceImpl();
- // |ITestService| methods:
+ // |TestService| methods:
virtual void OnConnectionEstablished() MOJO_OVERRIDE;
virtual void OnConnectionError() MOJO_OVERRIDE;
virtual void Ping(const mojo::Callback<void()>& callback) MOJO_OVERRIDE;
+ virtual void ConnectToAppAndGetTime(
+ const mojo::String& app_url,
+ const mojo::Callback<void(int64_t)>& callback) MOJO_OVERRIDE;
+ virtual void StartTrackingRequests(const mojo::Callback<void()>& callback)
+ MOJO_OVERRIDE;
private:
TestServiceApplication* const application_;
+ ApplicationConnection* const connection_;
+ TestTimeServicePtr time_service_;
+ scoped_ptr<TestRequestTrackerClientImpl> tracking_;
MOJO_DISALLOW_COPY_AND_ASSIGN(TestServiceImpl);
};