| // Copyright 2015 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 SERVICES_PREDICTION_PREDICTION_SERVICE_IMPL_H_ |
| #define SERVICES_PREDICTION_PREDICTION_SERVICE_IMPL_H_ |
| |
| #include "base/memory/scoped_ptr.h" |
| #include "mojo/public/cpp/application/application_delegate.h" |
| #include "mojo/public/cpp/bindings/strong_binding.h" |
| #include "mojo/services/prediction/interfaces/prediction.mojom.h" |
| #include "services/prediction/dictionary_service.h" |
| |
| namespace prediction { |
| |
| class PredictionServiceImpl : public PredictionService { |
| public: |
| explicit PredictionServiceImpl( |
| mojo::InterfaceRequest<PredictionService> request); |
| ~PredictionServiceImpl() override; |
| |
| // PredictionService implementation |
| void GetPredictionList(PredictionInfoPtr prediction_info, |
| const GetPredictionListCallback& callback) override; |
| |
| private: |
| mojo::StrongBinding<PredictionService> strong_binding_; |
| |
| scoped_ptr<latinime::ProximityInfo> proximity_settings_; |
| DictionaryService dictionary_service_; |
| |
| DISALLOW_COPY_AND_ASSIGN(PredictionServiceImpl); |
| }; |
| |
| class PredictionServiceDelegate : public mojo::ApplicationDelegate { |
| public: |
| PredictionServiceDelegate(); |
| ~PredictionServiceDelegate() override; |
| |
| // mojo::ApplicationDelegate implementation |
| bool ConfigureIncomingConnection( |
| mojo::ServiceProviderImpl* service_provider_impl) override; |
| }; |
| |
| } // namespace prediction |
| |
| #endif // SERVICES_PREDICTION_PREDICTION_SERVICE_IMPL_H_ |