mirror of
https://github.com/m1k1o/neko.git
synced 2025-07-23 19:49:02 +02:00
Implicit control gain (#108)
* add client side implicit hosting. * add server side implicit hosting. * update changelog. * allow clipboard & keybaord access.
This commit is contained in:
parent
f08ed0fc28
commit
7d1fa28d88
21 changed files with 125 additions and 38 deletions
|
@ -29,6 +29,8 @@ type SessionManager struct {
|
|||
remote types.RemoteManager
|
||||
members map[string]*Session
|
||||
emmiter events.EventEmmiter
|
||||
// TODO: Handle locks in sessions as flags.
|
||||
controlLocked bool
|
||||
}
|
||||
|
||||
func (manager *SessionManager) New(id string, admin bool, socket types.WebSocket) types.Session {
|
||||
|
@ -104,6 +106,16 @@ func (manager *SessionManager) Get(id string) (types.Session, bool) {
|
|||
return session, ok
|
||||
}
|
||||
|
||||
// TODO: Handle locks in sessions as flags.
|
||||
func (manager *SessionManager) SetControlLocked(locked bool) {
|
||||
manager.controlLocked = locked
|
||||
}
|
||||
|
||||
func (manager *SessionManager) CanControl(id string) bool {
|
||||
session, ok := manager.Get(id)
|
||||
return ok && (!manager.controlLocked || session.Admin())
|
||||
}
|
||||
|
||||
func (manager *SessionManager) Admins() []*types.Member {
|
||||
manager.mu.Lock()
|
||||
defer manager.mu.Unlock()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue