Newer
Older
// PrincipalNetworkDomain provides an
// interface for PND implementations
type PrincipalNetworkDomain interface {
Destroy() error
AddSbi() error
RemoveSbi() error
AddDevice(Device) error
RemoveDevice(uuid uuid.UUID) error
}
name string
sbi map[string]SouthboundInterface
devices map[uuid.UUID]Device
func NewPND(name string, sbi SouthboundInterface) PrincipalNetworkDomain {
sbic := make(map[string]SouthboundInterface)
}
// Interface satisfaction
func (pnd *pndImplementation) Destroy() error {
return destroy()
}
func (pnd *pndImplementation) AddSbi() error {
return addSbi()
}
func (pnd *pndImplementation) RemoveSbi() error {
return removeSbi()
}
func (pnd *pndImplementation) AddDevice(device Device) error {
}
func (pnd *pndImplementation) RemoveDevice(uuid uuid.UUID) error {
// Actual implementation, bind to struct if
// neccessary
func destroy() error {
return nil
}
func addSbi() error {
return nil
}
func removeSbi() error {
return nil
}
func (pnd *pndImplementation) addDevice(device Device) error {
pnd.devices[device.Config.Uuid] = device
func (pnd *pndImplementation) removeDevice(uuid uuid.UUID) error {
delete(pnd.devices, uuid)