Update Principal Network Domain authored by Malte Bauch's avatar Malte Bauch
The `pndImplementation` implements the `PrincipalNetworkDomain` interface. A `Principal Network Domain (PND)` is the main data structure within the `Nucleus`. It holds the Orchestrated Network Devices, as well as the supported Southbound Interfaces in its domain.
```plantuml
interface PrincipalNetworkDomain {
+ Destroy() error
+ AddSbi() error
+ RemoveSbi() error
+ AddDevice() error
+ RemoveDevice() error
+ AddSbi( <font color=blue>interface</font>{}) error
+ RemoveSbi( uuid.UUID) error
+ AddDevice( <font color=blue>interface</font>{}) error
+ RemoveDevice( uuid.UUID) error
+ Request( uuid.UUID, string) error
+ RequestAll( string) error
+ GetName() string
+ GetDescription() string
+ MarshalDevice( uuid.UUID) (string, error)
+ ContainsDevice( uuid.UUID) bool
+ GetSBIs() <font color=blue>interface</font>{}
+ ID() uuid.UUID
}
```
```plantuml
class pndImplementation << (S,Aquamarine) >> {
- name string
- sbiContainer map[string]nucleus.SouthboundInterface
- devices map[uuid]Device
- description string
- sbic sbiStore
- devices deviceStore
- id uuid.UUID
+ Destroy() error
+ AddSbi() error
+ RemoveSbi() error
- addSbi(sbi SouthboundInterface) error
- removeSbi(id uuid.UUID) error
- addDevice(device *Device) error
- getDevice(id uuid.UUID) (*Device, error)
- removeDevice(id uuid.UUID) error
+ ID() uuid.UUID
+ GetName() string
+ ContainsDevice(id uuid.UUID) bool
+ GetDescription() string
+ GetSBIs() <font color=blue>interface</font>{}
+ Destroy() error
+ AddSbi(sbi <font color=blue>interface</font>{}) error
+ RemoveSbi(id uuid.UUID) error
+ AddDevice(device <font color=blue>interface</font>{}) error
+ RemoveDevice(uuid uuid.UUID) error
+ MarshalDevice(uuid uuid.UUID) (string, error)
+ Request(uuid uuid.UUID, path string) error
+ RequestAll(path string) error
+ Set(uuid uuid.UUID, path string, value string) (<font color=blue>interface</font>{}, error)
}
"PrincipalNetworkDomain" <|-- "pndImplementation"
```
\ No newline at end of file