/*1Licensed to the Software Freedom Conservancy (SFC) under one2or more contributor license agreements. See the NOTICE file3distributed with this work for additional information4regarding copyright ownership. The SFC licenses this file5to you under the Apache License, Version 2.0 (the "License");6you may not use this file except in compliance with the License.7You may obtain a copy of the License at89http://www.apache.org/licenses/LICENSE-2.01011Unless required by applicable law or agreed to in writing, software12distributed under the License is distributed on an "AS IS" BASIS,13WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.14See the License for the specific language governing permissions and15limitations under the License.1617Author: [email protected]18*/1920#ifndef IMEUTILS_H_21#define IMEUTILS_H_2223#include <string>24#include <map>2526// A macro to disallow the copy constructor and operator= functions.27#define DISALLOW_COPY_AND_ASSIGN(TypeName) \28TypeName(const TypeName&); \29void operator=(const TypeName&)303132class ImeUtils {33public:34virtual ~ImeUtils() {}35std::string GetNextCandidateKeyForEngine(std::string engine) const {36std::string key = "";37std::map<std::string, std::string>::const_iterator it;38if ((it = kNextCandidateKeysMap.find(engine)) !=39kNextCandidateKeysMap.end()) {40key = it->second;41}42return key;43}4445protected:46ImeUtils() {}47std::map<std::string, std::string> kNextCandidateKeysMap;48};4950#endif // IMEUTILS_H_515253