1 /* 2 * Copyright (C) 2021 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #ifndef SERVICES_INCLUDE_INPUT_ATTRIBUTE_H 17 #define SERVICES_INCLUDE_INPUT_ATTRIBUTE_H 18 19 #include <cstdint> 20 21 #include "message_parcel.h" 22 23 namespace OHOS { 24 namespace MiscServices { 25 struct InputAttribute { 26 static const int32_t PATTERN_TEXT = 0x00000001; 27 static const int32_t PATTERN_PASSWORD = 0x00000007; 28 int32_t inputPattern = 0; 29 int32_t enterKeyType = 0; 30 int32_t inputOption = 0; 31 MarshallingInputAttribute32 static bool Marshalling(const InputAttribute &in, MessageParcel &data) 33 { 34 return data.WriteInt32(in.inputPattern) && data.WriteInt32(in.enterKeyType) && data.WriteInt32(in.inputOption); 35 } 36 UnmarshallingInputAttribute37 static bool Unmarshalling(InputAttribute &out, MessageParcel &data) 38 { 39 return data.ReadInt32(out.inputPattern) && data.ReadInt32(out.enterKeyType) && data.ReadInt32(out.inputOption); 40 } 41 GetSecurityFlagInputAttribute42 bool GetSecurityFlag() 43 { 44 return inputPattern == PATTERN_PASSWORD; 45 } 46 }; 47 } // namespace MiscServices 48 } // namespace OHOS 49 50 #endif // SERVICES_INCLUDE_INPUT_ATTRIBUTE_H 51