| Index: third_party/cacheinvalidation/src/google/cacheinvalidation/impl/invalidation-client-factory.cc
|
| diff --git a/third_party/cacheinvalidation/src/google/cacheinvalidation/impl/invalidation-client-factory.cc b/third_party/cacheinvalidation/src/google/cacheinvalidation/impl/invalidation-client-factory.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..996a459d9047ba17cfbc4d442579bbd6525126b2
|
| --- /dev/null
|
| +++ b/third_party/cacheinvalidation/src/google/cacheinvalidation/impl/invalidation-client-factory.cc
|
| @@ -0,0 +1,76 @@
|
| +// Copyright 2012 Google Inc.
|
| +//
|
| +// Licensed under the Apache License, Version 2.0 (the "License");
|
| +// you may not use this file except in compliance with the License.
|
| +// You may obtain a copy of the License at
|
| +//
|
| +// http://www.apache.org/licenses/LICENSE-2.0
|
| +//
|
| +// Unless required by applicable law or agreed to in writing, software
|
| +// distributed under the License is distributed on an "AS IS" BASIS,
|
| +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
| +// See the License for the specific language governing permissions and
|
| +// limitations under the License.
|
| +
|
| +#include "google/cacheinvalidation/include/invalidation-client-factory.h"
|
| +
|
| +#include "google/cacheinvalidation/impl/invalidation-client-impl.h"
|
| +
|
| +namespace invalidation {
|
| +
|
| +InvalidationClient* ClientFactory::Create(
|
| + SystemResources* resources,
|
| + const InvalidationClientConfig& config,
|
| + InvalidationListener* listener) {
|
| + ClientConfigP client_config;
|
| + InvalidationClientCore::InitConfig(&client_config);
|
| + client_config.set_allow_suppression(config.allow_suppression());
|
| + Random* random = new Random(InvalidationClientUtil::GetCurrentTimeMs(
|
| + resources->internal_scheduler()));
|
| + return new InvalidationClientImpl(
|
| + resources, random, config.client_type(), config.client_name(),
|
| + client_config, config.application_name(), listener);
|
| +}
|
| +
|
| +// Deprecated, please the factory function that takes an
|
| +// InvalidationClientConfig instead.
|
| +InvalidationClient* CreateInvalidationClient(
|
| + SystemResources* resources,
|
| + int32 client_type,
|
| + const string& client_name,
|
| + const string& application_name,
|
| + InvalidationListener* listener) {
|
| + InvalidationClientConfig config(
|
| + client_type, client_name, application_name, true /* allowSuppression*/);
|
| + return ClientFactory::Create(resources, config, listener);
|
| +}
|
| +
|
| +InvalidationClient* ClientFactory::CreateForTest(
|
| + SystemResources* resources,
|
| + const InvalidationClientConfig& config,
|
| + InvalidationListener* listener) {
|
| + // Make a config with test params and construct an instance to return.
|
| + ClientConfigP client_config;
|
| + InvalidationClientCore::InitConfigForTest(&client_config);
|
| + client_config.set_allow_suppression(config.allow_suppression());
|
| + Random* random = new Random(InvalidationClientUtil::GetCurrentTimeMs(
|
| + resources->internal_scheduler()));
|
| + return new InvalidationClientImpl(
|
| + resources, random, config.client_type(), config.client_name(),
|
| + client_config, config.application_name(), listener);
|
| +}
|
| +
|
| +InvalidationClient* CreateInvalidationClientForTest(
|
| + SystemResources* resources,
|
| + int32 client_type,
|
| + const string& client_name,
|
| + const string& application_name,
|
| + InvalidationListener* listener) {
|
| + return ClientFactory::CreateForTest(
|
| + resources,
|
| + InvalidationClientConfig(client_type, client_name, application_name,
|
| + true /* allowSuppression */),
|
| + listener);
|
| +}
|
| +
|
| +} // namespace invalidation
|
|
|