diff --git a/services/include/peruser_session.h b/services/include/peruser_session.h index 08bab93..2894e1b 100644 --- a/services/include/peruser_session.h +++ b/services/include/peruser_session.h @@ -96,92 +96,91 @@ namespace MiscServices { MAX_IME = 2, // the maximum count of ims started for a user }; - public: - explicit PerUserSession(int userId); - ~PerUserSession(); + public: + explicit PerUserSession(int userId); + ~PerUserSession(); - void SetCurrentIme(InputMethodProperty *ime); - void SetSecurityIme(InputMethodProperty *ime); - void SetInputMethodSetting(InputMethodSetting *setting); - void ResetIme(InputMethodProperty *defaultIme, InputMethodProperty *securityIme); - void OnPackageRemoved(const std::u16string& packageName); + void SetCurrentIme(InputMethodProperty *ime); + void SetSecurityIme(InputMethodProperty *ime); + void SetInputMethodSetting(InputMethodSetting *setting); + void ResetIme(InputMethodProperty *defaultIme, InputMethodProperty *securityIme); + void OnPackageRemoved(const std::u16string& packageName); - int GetDisplayMode(); - int GetKeyboardWindowHeight(int retHeight); - KeyboardType *GetCurrentKeyboardType(); + int GetDisplayMode(); + int GetKeyboardWindowHeight(int retHeight); + KeyboardType *GetCurrentKeyboardType(); - int OnSettingChanged(const std::u16string& key, const std::u16string& value); - void CreateWorkThread(MessageHandler& handler); - void JoinWorkThread(); - void SetInputMethodAbility(sptr &inputMethodAbility); - static void BindInputAbility(); - private: - int userId_; // the id of the user to whom the object is linking - int userState; // the state of the user to whom the object is linking - int displayId; // the id of the display screen on which the user is - int currentIndex; - std::map, ClientInfo*> mapClients; - int MIN_IME = 2; + int OnSettingChanged(const std::u16string& key, const std::u16string& value); + void CreateWorkThread(MessageHandler& handler); + void JoinWorkThread(); + void SetInputMethodAbility(sptr &inputMethodAbility); + static void BindInputAbility(); + private: + int userId_; // the id of the user to whom the object is linking + int userState; // the state of the user to whom the object is linking + int displayId; // the id of the display screen on which the user is + int currentIndex; + std::map, ClientInfo*> mapClients; + int MIN_IME = 2; - InputMethodProperty *currentIme[MAX_IME]; // 0 - the default ime. 1 - security ime + InputMethodProperty *currentIme[MAX_IME]; // 0 - the default ime. 1 - security ime - InputControlChannelStub *localControlChannel[MAX_IME]; - sptr inputControlChannel[MAX_IME]; - sptr imsCore[MAX_IME]; // the remote handlers of input method service - sptr inputMethodToken[MAX_IME]; // the window token of keyboard - int currentKbdIndex[MAX_IME]; // current keyboard index - int lastImeIndex; // The last ime which showed keyboard - InputMethodSetting *inputMethodSetting; // The pointer referred to the object in PerUserSetting - int currentDisplayMode; // the display mode of the current keyboard + InputControlChannelStub *localControlChannel[MAX_IME]; + sptr inputControlChannel[MAX_IME]; + sptr imsCore[MAX_IME]; // the remote handlers of input method service + sptr inputMethodToken[MAX_IME]; // the window token of keyboard + int currentKbdIndex[MAX_IME]; // current keyboard index + int lastImeIndex; // The last ime which showed keyboard + InputMethodSetting *inputMethodSetting; // The pointer referred to the object in PerUserSetting + int currentDisplayMode; // the display mode of the current keyboard - sptr imsAgent; - InputChannel *imsChannel; // the write channel created by input method service - sptr currentClient; // the current input client - sptr needReshowClient; // the input client for which keyboard need to re-show + sptr imsAgent; + InputChannel *imsChannel; // the write channel created by input method service + sptr currentClient; // the current input client + sptr needReshowClient; // the input client for which keyboard need to re-show - sptr clientDeathRecipient; // remote object death monitor for input client - sptr imsDeathRecipient; - MessageHandler *msgHandler = nullptr; // message handler working with Work Thread - std::thread workThreadHandler; // work thread handler - std::mutex mtx; // mutex to lock the operations among multi work threads - sptr connCallback; - sptr inputMethodAbility_; - int SLEEP_TIME = 300000; + sptr clientDeathRecipient; // remote object death monitor for input client + sptr imsDeathRecipient; + MessageHandler *msgHandler = nullptr; // message handler working with Work Thread + std::thread workThreadHandler; // work thread handler + std::mutex mtx; // mutex to lock the operations among multi work threads + sptr connCallback; + sptr inputMethodAbility_; - PerUserSession(const PerUserSession&); - PerUserSession& operator= (const PerUserSession&); - PerUserSession(const PerUserSession&&); - PerUserSession& operator= (const PerUserSession&&); - int IncreaseOrResetImeError(bool resetFlag, int imeIndex); - KeyboardType *GetKeyboardType(int imeIndex, int typeIndex); - void ResetCurrentKeyboardType(int imeIndex); - int OnCurrentKeyboardTypeChanged(int index, const std::u16string& value); - void CopyInputMethodService(int imeIndex); - ClientInfo *GetClientInfo(const sptr& inputClient); - void WorkThread(); - void OnPrepareInput(Message *msg); - void OnReleaseInput(Message *msg); - void OnStartInput(Message *msg); - void OnStopInput(Message *msg); - void OnClientDied(const wptr& who); - void OnImsDied(const wptr& who); - void OnHideKeyboardSelf(int flags); - void OnAdvanceToNext(); - void OnSetDisplayMode(int mode); - void OnRestartIms(int index, const std::u16string& imeId); - void OnUserLocked(); - int AddClient(int pid, int uid, int displayId, const sptr& inputClient, - const sptr& channel, - const InputAttribute& attribute); - int RemoveClient(const sptr& inputClient, int retClientNum); - int StartInputMethod(int index); - int StopInputMethod(int index); - int ShowKeyboard(const sptr& inputClient); - int HideKeyboard(const sptr& inputClient); - void SetDisplayId(int displayId); - int GetImeIndex(const sptr& inputClient); - static sptr GetAbilityManagerService(); - void onSetInputMethodCore(Message *msg); + PerUserSession(const PerUserSession&); + PerUserSession& operator =(const PerUserSession&); + PerUserSession(const PerUserSession&&); + PerUserSession& operator =(const PerUserSession&&); + int IncreaseOrResetImeError(bool resetFlag, int imeIndex); + KeyboardType *GetKeyboardType(int imeIndex, int typeIndex); + void ResetCurrentKeyboardType(int imeIndex); + int OnCurrentKeyboardTypeChanged(int index, const std::u16string& value); + void CopyInputMethodService(int imeIndex); + ClientInfo *GetClientInfo(const sptr& inputClient); + void WorkThread(); + void OnPrepareInput(Message *msg); + void OnReleaseInput(Message *msg); + void OnStartInput(Message *msg); + void OnStopInput(Message *msg); + void OnClientDied(const wptr& who); + void OnImsDied(const wptr& who); + void OnHideKeyboardSelf(int flags); + void OnAdvanceToNext(); + void OnSetDisplayMode(int mode); + void OnRestartIms(int index, const std::u16string& imeId); + void OnUserLocked(); + int AddClient(int pid, int uid, int displayId, const sptr& inputClient, + const sptr& channel, + const InputAttribute& attribute); + int RemoveClient(const sptr& inputClient, int retClientNum); + int StartInputMethod(int index); + int StopInputMethod(int index); + int ShowKeyboard(const sptr& inputClient); + int HideKeyboard(const sptr& inputClient); + void SetDisplayId(int displayId); + int GetImeIndex(const sptr& inputClient); + static sptr GetAbilityManagerService(); + void onSetInputMethodCore(Message *msg); }; } }