mirror of
https://github.com/m1k1o/neko.git
synced 2025-05-13 17:17:35 +02:00
WS added session events.
This commit is contained in:
parent
1f5c0a3547
commit
f361d0c681
5 changed files with 149 additions and 18 deletions
|
@ -6,6 +6,38 @@ import (
|
|||
"demodesk/neko/internal/types/message"
|
||||
)
|
||||
|
||||
func (h *MessageHandlerCtx) SessionCreated(session types.Session) error {
|
||||
// TODO: Join structs?
|
||||
h.sessions.Broadcast(
|
||||
message.MemberData{
|
||||
Event: event.MEMBER_CREATED,
|
||||
ID: session.ID(),
|
||||
Profile: message.MemberProfile{
|
||||
Name: session.Name(),
|
||||
IsAdmin: session.IsAdmin(),
|
||||
CanLogin: session.CanLogin(),
|
||||
CanConnect: session.CanConnect(),
|
||||
CanWatch: session.CanWatch(),
|
||||
CanHost: session.CanHost(),
|
||||
CanAccessClipboard: session.CanAccessClipboard(),
|
||||
},
|
||||
IsConnected: session.IsConnected(),
|
||||
IsReceiving: session.IsReceiving(),
|
||||
}, nil)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (h *MessageHandlerCtx) SessionDeleted(session types.Session) error {
|
||||
h.sessions.Broadcast(
|
||||
message.MemberID{
|
||||
Event: event.MEMBER_DELETED,
|
||||
ID: session.ID(),
|
||||
}, nil);
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (h *MessageHandlerCtx) SessionConnected(session types.Session) error {
|
||||
// start streaming, when first member connects
|
||||
if !h.capture.Streaming() {
|
||||
|
@ -22,14 +54,11 @@ func (h *MessageHandlerCtx) SessionConnected(session types.Session) error {
|
|||
}
|
||||
}
|
||||
|
||||
// let everyone know there is a new session
|
||||
h.sessions.Broadcast(
|
||||
message.MemberData{
|
||||
Event: event.MEMBER_CONNECTED,
|
||||
ID: session.ID(),
|
||||
Name: session.Name(),
|
||||
IsAdmin: session.IsAdmin(),
|
||||
}, nil)
|
||||
message.MemberID{
|
||||
Event: event.MEMBER_CONNECTED,
|
||||
ID: session.ID(),
|
||||
}, nil);
|
||||
|
||||
return nil
|
||||
}
|
||||
|
@ -52,7 +81,6 @@ func (h *MessageHandlerCtx) SessionDisconnected(session types.Session) error {
|
|||
}, nil)
|
||||
}
|
||||
|
||||
// let everyone know session disconnected
|
||||
h.sessions.Broadcast(
|
||||
message.MemberID{
|
||||
Event: event.MEMBER_DISCONNECTED,
|
||||
|
@ -61,3 +89,40 @@ func (h *MessageHandlerCtx) SessionDisconnected(session types.Session) error {
|
|||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (h *MessageHandlerCtx) SessionReceivingStarted(session types.Session) error {
|
||||
h.sessions.Broadcast(
|
||||
message.MemberID{
|
||||
Event: event.MEMBER_RECEIVING_STARTED,
|
||||
ID: session.ID(),
|
||||
}, nil);
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (h *MessageHandlerCtx) SessionReceivingStopped(session types.Session) error {
|
||||
h.sessions.Broadcast(
|
||||
message.MemberID{
|
||||
Event: event.MEMBER_RECEIVING_STOPPED,
|
||||
ID: session.ID(),
|
||||
}, nil);
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (h *MessageHandlerCtx) SessionProfileUpdated(session types.Session) error {
|
||||
// TODO: Join structs?
|
||||
h.sessions.Broadcast(
|
||||
message.MemberProfile{
|
||||
Event: event.MEMBER_PROFILE_UPDATED,
|
||||
Name: session.Name(),
|
||||
IsAdmin: session.IsAdmin(),
|
||||
CanLogin: session.CanLogin(),
|
||||
CanConnect: session.CanConnect(),
|
||||
CanWatch: session.CanWatch(),
|
||||
CanHost: session.CanHost(),
|
||||
CanAccessClipboard: session.CanAccessClipboard(),
|
||||
}, nil)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue