16c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen/* 26c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen * Copyright (C) 2012 The Android Open Source Project 36c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen * 46c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen * Licensed under the Apache License, Version 2.0 (the "License"); 56c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen * you may not use this file except in compliance with the License. 66c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen * You may obtain a copy of the License at 76c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen * 86c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen * http://www.apache.org/licenses/LICENSE-2.0 96c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen * 106c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen * Unless required by applicable law or agreed to in writing, software 116c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen * distributed under the License is distributed on an "AS IS" BASIS, 126c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 136c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen * See the License for the specific language governing permissions and 146c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen * limitations under the License. 156c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen */ 166c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen 176c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen#include <utils/String8.h> 186c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen 196c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen#include "common_time_config_service.h" 206c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen#include "common_time_server.h" 216c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen 226c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chennamespace android { 236c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen 246c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chensp<CommonTimeConfigService> CommonTimeConfigService::instantiate( 256c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen CommonTimeServer& timeServer) { 266c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen sp<CommonTimeConfigService> ctcs = new CommonTimeConfigService(timeServer); 276c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen if (ctcs == NULL) 286c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen return NULL; 296c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen 306c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen defaultServiceManager()->addService(ICommonTimeConfig::kServiceName, ctcs); 316c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen return ctcs; 326c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen} 336c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen 346c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chenstatus_t CommonTimeConfigService::dump(int fd, const Vector<String16>& args) { 356c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen return mTimeServer.dumpConfigInterface(fd, args); 366c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen} 376c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen 386c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chenstatus_t CommonTimeConfigService::getMasterElectionPriority(uint8_t *priority) { 396c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen return mTimeServer.getMasterElectionPriority(priority); 406c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen} 416c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen 426c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chenstatus_t CommonTimeConfigService::setMasterElectionPriority(uint8_t priority) { 436c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen return mTimeServer.setMasterElectionPriority(priority); 446c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen} 456c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen 466c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chenstatus_t CommonTimeConfigService::getMasterElectionEndpoint( 476c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen struct sockaddr_storage *addr) { 486c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen return mTimeServer.getMasterElectionEndpoint(addr); 496c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen} 506c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen 516c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chenstatus_t CommonTimeConfigService::setMasterElectionEndpoint( 526c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen const struct sockaddr_storage *addr) { 536c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen return mTimeServer.setMasterElectionEndpoint(addr); 546c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen} 556c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen 566c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chenstatus_t CommonTimeConfigService::getMasterElectionGroupId(uint64_t *id) { 576c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen return mTimeServer.getMasterElectionGroupId(id); 586c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen} 596c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen 606c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chenstatus_t CommonTimeConfigService::setMasterElectionGroupId(uint64_t id) { 616c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen return mTimeServer.setMasterElectionGroupId(id); 626c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen} 636c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen 646c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chenstatus_t CommonTimeConfigService::getInterfaceBinding(String16& ifaceName) { 656c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen String8 tmp; 666c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen status_t ret = mTimeServer.getInterfaceBinding(tmp); 676c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen ifaceName = String16(tmp); 686c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen return ret; 696c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen} 706c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen 716c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chenstatus_t CommonTimeConfigService::setInterfaceBinding(const String16& ifaceName) { 726c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen String8 tmp(ifaceName); 736c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen return mTimeServer.setInterfaceBinding(tmp); 746c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen} 756c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen 766c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chenstatus_t CommonTimeConfigService::getMasterAnnounceInterval(int *interval) { 776c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen return mTimeServer.getMasterAnnounceInterval(interval); 786c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen} 796c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen 806c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chenstatus_t CommonTimeConfigService::setMasterAnnounceInterval(int interval) { 816c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen return mTimeServer.setMasterAnnounceInterval(interval); 826c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen} 836c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen 846c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chenstatus_t CommonTimeConfigService::getClientSyncInterval(int *interval) { 856c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen return mTimeServer.getClientSyncInterval(interval); 866c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen} 876c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen 886c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chenstatus_t CommonTimeConfigService::setClientSyncInterval(int interval) { 896c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen return mTimeServer.setClientSyncInterval(interval); 906c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen} 916c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen 926c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chenstatus_t CommonTimeConfigService::getPanicThreshold(int *threshold) { 936c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen return mTimeServer.getPanicThreshold(threshold); 946c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen} 956c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen 966c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chenstatus_t CommonTimeConfigService::setPanicThreshold(int threshold) { 976c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen return mTimeServer.setPanicThreshold(threshold); 986c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen} 996c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen 1006c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chenstatus_t CommonTimeConfigService::getAutoDisable(bool *autoDisable) { 1016c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen return mTimeServer.getAutoDisable(autoDisable); 1026c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen} 1036c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen 1046c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chenstatus_t CommonTimeConfigService::setAutoDisable(bool autoDisable) { 1056c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen return mTimeServer.setAutoDisable(autoDisable); 1066c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen} 1076c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen 1086c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chenstatus_t CommonTimeConfigService::forceNetworklessMasterMode() { 1096c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen return mTimeServer.forceNetworklessMasterMode(); 1106c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen} 1116c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen 1126c929510474caa14dc9d56826b2c65552861d6b3Mike J. Chen}; // namespace android 113