diff options
Diffstat (limited to 'sd_login/type_seat.go')
-rw-r--r-- | sd_login/type_seat.go | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/sd_login/type_seat.go b/sd_login/type_seat.go new file mode 100644 index 0000000..fd86663 --- /dev/null +++ b/sd_login/type_seat.go @@ -0,0 +1,37 @@ +// Copyright (C) 2016 Luke Shumaker <lukeshu@sbcglobal.net> +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package sd_login + +type Seat string + +// GetSeats returns a list of all currently avialable local seats. +func GetSeats() ([]Seat, error) { + strs, err := get_files_in_directory("/run/systemd/seats/") + if err != nil { + return nil, err + } + seats := make([]Seat, len(strs)) + for i := range strs { + seats[i] = Seat(strs[i]) + } + return seats, nil +} + +func (seat Seat) GetActive() (Session, User, error) +func (seat Seat) GetSessions() ([]Session, []User, error) + +func (seat Seat) CanMultiSession() bool +func (seat Seat) CanTTY() bool +func (seat Seat) CanGraphical() bool |