Documentation
¶
Overview ¶
List of mocks used for testing
Various responses to a LWM2M Server request Typically responses represent a CoAP Request code
Index ¶
- Constants
- func Asset(name string) ([]byte, error)
- func AssetDir(name string) ([]string, error)
- func AssetInfo(name string) (os.FileInfo, error)
- func AssetNames() []string
- func BuildModelResourceStringPayload(instances LWM2MObjectInstances) string
- func CallLwm2mEvent(e EventType, fn FnEvent)
- func CreateTlvIdentifierField(ident uint16) []byte
- func CreateTlvLengthField(value interface{}) []byte
- func CreateTlvTypeField(identType byte, value interface{}, ident uint16) byte
- func CreateTlvValueField(value int) []byte
- func DecodeLengthField(b []byte, pos int) (valueLength uint64, typeLength int)
- func DecodeTypeField(typeField byte) (typeOfIdentifier byte, lengthOfIdentifier byte, typeOfLength byte, ...)
- func EncodeValue(resourceId LWM2MResourceType, allowMultipleValues bool, v Value) []byte
- func FnCoapDeleteClient(b *LWM2MServer) canopus.RouteHandler
- func FnCoapRegisterClient(b *LWM2MServer) canopus.RouteHandler
- func FnCoapUpdateClient(b *LWM2MServer) canopus.RouteHandler
- func GetValueByteLength(val interface{}) (uint32, error)
- func IsExecutableResource(m ResourceDefinition) bool
- func IsReadableResource(m ResourceDefinition) bool
- func IsWritableResource(m ResourceDefinition) bool
- func MediaTypeFromValue(v Value) canopus.MediaType
- func MustAsset(name string) []byte
- func RestoreAsset(dir, name string) error
- func RestoreAssets(dir, name string) error
- func ValidResourceTypeField(b []byte) error
- type BadRequestResponse
- type BetwixtServerStatistics
- type BindingMode
- type BooleanValue
- type ChangedResponse
- type ConflictResponse
- type ContentResponse
- type CreatedResponse
- type DefaultLWM2MClient
- func (c *DefaultLWM2MClient) AddObject()
- func (c *DefaultLWM2MClient) AddObjectInstance(t LWM2MObjectType, instance int) error
- func (c *DefaultLWM2MClient) AddObjectInstances(t LWM2MObjectType, instances ...int)
- func (c *DefaultLWM2MClient) AddResource()
- func (c *DefaultLWM2MClient) Deregister()
- func (c *DefaultLWM2MClient) EnableObject(t LWM2MObjectType, e ObjectEnabler) error
- func (c *DefaultLWM2MClient) GetEnabledObjects() map[LWM2MObjectType]Object
- func (c *DefaultLWM2MClient) GetObject(n LWM2MObjectType) Object
- func (c *DefaultLWM2MClient) GetRegistry() Registry
- func (c *DefaultLWM2MClient) OnError(fn FnOnError)
- func (c *DefaultLWM2MClient) OnExecute(fn FnOnExecute)
- func (c *DefaultLWM2MClient) OnObserve(fn FnOnError)
- func (c *DefaultLWM2MClient) OnRead(fn FnOnRead)
- func (c *DefaultLWM2MClient) OnStartup(fn FnOnStartup)
- func (c *DefaultLWM2MClient) OnWrite(fn FnOnWrite)
- func (c *DefaultLWM2MClient) Register(name string) (string, error)
- func (c *DefaultLWM2MClient) SetEnabler(t LWM2MObjectType, e ObjectEnabler)
- func (c *DefaultLWM2MClient) Start()
- func (c *DefaultLWM2MClient) Update()
- func (c *DefaultLWM2MClient) UseRegistry(reg Registry)
- type DefaultObject
- func (o *DefaultObject) AddInstance(n int)
- func (o *DefaultObject) GetDefinition() ObjectDefinition
- func (o *DefaultObject) GetEnabler() ObjectEnabler
- func (o *DefaultObject) GetInstances() []int
- func (o *DefaultObject) GetType() LWM2MObjectType
- func (o *DefaultObject) RemoveInstance(n int)
- func (o *DefaultObject) SetEnabler(e ObjectEnabler)
- type DefaultObjectDefinition
- func (o *DefaultObjectDefinition) AllowMultiple() bool
- func (o *DefaultObjectDefinition) GetDescription() string
- func (o *DefaultObjectDefinition) GetName() string
- func (o *DefaultObjectDefinition) GetResource(n LWM2MResourceType) ResourceDefinition
- func (o *DefaultObjectDefinition) GetResources() []ResourceDefinition
- func (o *DefaultObjectDefinition) GetType() LWM2MObjectType
- func (o *DefaultObjectDefinition) IsMandatory() bool
- func (o *DefaultObjectDefinition) SetResources(r []ResourceDefinition)
- type DefaultObjectInstance
- type DefaultRegisteredClient
- func (c *DefaultRegisteredClient) Delete(int, int)
- func (c *DefaultRegisteredClient) Execute(int, int, int)
- func (c *DefaultRegisteredClient) GetAddress() string
- func (c *DefaultRegisteredClient) GetBindingMode() BindingMode
- func (c *DefaultRegisteredClient) GetId() string
- func (c *DefaultRegisteredClient) GetLifetime() int
- func (c *DefaultRegisteredClient) GetName() string
- func (c *DefaultRegisteredClient) GetObject(t LWM2MObjectType) Object
- func (c *DefaultRegisteredClient) GetObjects() map[LWM2MObjectType]Object
- func (c *DefaultRegisteredClient) GetRegistrationDate() time.Time
- func (c *DefaultRegisteredClient) GetSmsNumber() string
- func (c *DefaultRegisteredClient) GetVersion() string
- func (c *DefaultRegisteredClient) LastUpdate() time.Time
- func (c *DefaultRegisteredClient) ReadObject(obj uint16, inst uint16) (Value, error)
- func (c *DefaultRegisteredClient) ReadResource(obj uint16, inst uint16, rsrc uint16) (Value, error)
- func (c *DefaultRegisteredClient) SetObjects(objects map[LWM2MObjectType]Object)
- func (c *DefaultRegisteredClient) Update()
- type DefaultRequest
- type DefaultResourceDefinition
- func (o *DefaultResourceDefinition) GetDescription() string
- func (o *DefaultResourceDefinition) GetId() LWM2MResourceType
- func (o *DefaultResourceDefinition) GetName() string
- func (o *DefaultResourceDefinition) GetOperations() OperationCode
- func (o *DefaultResourceDefinition) GetRangeOrEnums() string
- func (o *DefaultResourceDefinition) GetResourceType() ValueTypeCode
- func (o *DefaultResourceDefinition) GetUnits() string
- func (o *DefaultResourceDefinition) IsMandatory() bool
- func (o *DefaultResourceDefinition) MultipleValuesAllowed() bool
- type DeletedResponse
- type EmptyValue
- type EventType
- type Float64Value
- type FloatValue
- type FnEvent
- type FnOnDeregistered
- type FnOnError
- type FnOnExecute
- type FnOnRead
- type FnOnRegistered
- type FnOnStartup
- type FnOnWrite
- type IPSOSmartObjects
- func (o *IPSOSmartObjects) AddObject(m ObjectDefinition, res []ResourceDefinition)
- func (o *IPSOSmartObjects) AddObjects(od []ObjectDefinition)
- func (o *IPSOSmartObjects) GetObject(n LWM2MObjectType) ObjectDefinition
- func (o *IPSOSmartObjects) GetObjects() map[LWM2MObjectType]ObjectDefinition
- func (o *IPSOSmartObjects) Initialize()
- type IdentifierType
- type InMemoryStore
- func (db *InMemoryStore) Close()
- func (db *InMemoryStore) DeleteClient(name string)
- func (db *InMemoryStore) GetClient(name string) RegisteredClient
- func (db *InMemoryStore) GetClients() map[string]RegisteredClient
- func (db *InMemoryStore) Init()
- func (db *InMemoryStore) PutClient(name string, c RegisteredClient)
- func (db *InMemoryStore) UpdateTS(name string)
- type IntegerValue
- type LWM2MClient
- type LWM2MCoreObjects
- func (o *LWM2MCoreObjects) AddObject(m ObjectDefinition, res []ResourceDefinition)
- func (o *LWM2MCoreObjects) AddObjects(od []ObjectDefinition)
- func (o *LWM2MCoreObjects) GetObject(n LWM2MObjectType) ObjectDefinition
- func (o *LWM2MCoreObjects) GetObjects() map[LWM2MObjectType]ObjectDefinition
- func (o *LWM2MCoreObjects) Initialize()
- type LWM2MObjectInstances
- type LWM2MObjectType
- type LWM2MResourceType
- type LWM2MServer
- func (b *LWM2MServer) Delete(id string)
- func (b *LWM2MServer) GetClient(id string) RegisteredClient
- func (b *LWM2MServer) GetClients() map[string]RegisteredClient
- func (b *LWM2MServer) GetServerStats() ServerStatistics
- func (c *LWM2MServer) OnDeregistered(fn FnOnDeregistered)
- func (c *LWM2MServer) OnRegistered(fn FnOnRegistered)
- func (b *LWM2MServer) Register(ep string, addr string, resources []*canopus.CoreResource) (string, error)
- func (b *LWM2MServer) Serve() error
- func (b *LWM2MServer) Update(id string)
- func (b *LWM2MServer) UseRegistry(reg Registry)
- type LengthValidator
- type Lwm2mRequest
- type Lwm2mResponse
- type MethodNotAllowedResponse
- type MockClient
- func (c *MockClient) AddObject()
- func (c *MockClient) AddObjectInstance(LWM2MObjectType, int) error
- func (c *MockClient) AddObjectInstances(LWM2MObjectType, ...int)
- func (c *MockClient) AddResource()
- func (c *MockClient) Deregister()
- func (c *MockClient) EnableObject(t LWM2MObjectType, e ObjectEnabler) error
- func (c *MockClient) GetEnabledObjects() map[LWM2MObjectType]Object
- func (c *MockClient) GetObject(n LWM2MObjectType) Object
- func (c *MockClient) GetRegistry() Registry
- func (c *MockClient) OnDeregistered(FnOnDeregistered)
- func (c *MockClient) OnError(FnOnError)
- func (c *MockClient) OnExecute(FnOnExecute)
- func (c *MockClient) OnRead(FnOnRead)
- func (c *MockClient) OnRegistered(FnOnRegistered)
- func (c *MockClient) OnStartup(FnOnStartup)
- func (c *MockClient) OnWrite(FnOnWrite)
- func (c *MockClient) Register(string) (string, error)
- func (c *MockClient) SetEnabler(LWM2MObjectType, ObjectEnabler)
- func (c *MockClient) Start()
- func (c *MockClient) Update()
- func (c *MockClient) UseRegistry(r Registry)
- type MockObject
- func (o *MockObject) AddInstance(int)
- func (o *MockObject) GetDefinition() ObjectDefinition
- func (o *MockObject) GetEnabler() ObjectEnabler
- func (o *MockObject) GetInstances() []int
- func (o *MockObject) GetType() LWM2MObjectType
- func (o *MockObject) RemoveInstance(int)
- func (o *MockObject) SetEnabler(ObjectEnabler)
- type MockRegistry
- type MockServer
- func (server *MockServer) GetClient(id string) RegisteredClient
- func (server *MockServer) GetClients() map[string]RegisteredClient
- func (server *MockServer) GetCoapServer() canopus.CoapServer
- func (server *MockServer) GetStats() ServerStatistics
- func (server *MockServer) On(e EventType, fn FnEvent)
- func (server *MockServer) Start()
- func (server *MockServer) UseRegistry(reg Registry)
- type MockServerStatistics
- type MultipleResourceValue
- type MultipleValue
- type NilRequest
- type NotFoundResponse
- type NullEnabler
- func (e *NullEnabler) OnCreate(int, int, Lwm2mRequest) Lwm2mResponse
- func (e *NullEnabler) OnDelete(int, Lwm2mRequest) Lwm2mResponse
- func (e *NullEnabler) OnExecute(int, int, Lwm2mRequest) Lwm2mResponse
- func (e *NullEnabler) OnRead(int, int, Lwm2mRequest) Lwm2mResponse
- func (e *NullEnabler) OnWrite(int, int, Lwm2mRequest) Lwm2mResponse
- type Object
- type ObjectDefinition
- type ObjectEnabler
- type ObjectRegistry
- type ObjectSource
- type ObjectValue
- type OneM2MObjects
- type OperationCode
- type OperationType
- type RangeValidator
- type RegisteredClient
- type Registry
- type ResourceDefinition
- type ResourceValue
- type Server
- type ServerConfig
- type ServerStatistics
- type Store
- type StringValue
- type TestDeviceObject
- func (o *TestDeviceObject) FactoryReset() Value
- func (o *TestDeviceObject) OnCreate(instanceId int, resourceId int, req Lwm2mRequest) Lwm2mResponse
- func (o *TestDeviceObject) OnDelete(instanceId int, req Lwm2mRequest) Lwm2mResponse
- func (o *TestDeviceObject) OnExecute(instanceId int, resourceId int, req Lwm2mRequest) Lwm2mResponse
- func (o *TestDeviceObject) OnRead(instanceId int, resourceId int, req Lwm2mRequest) Lwm2mResponse
- func (o *TestDeviceObject) OnWrite(instanceId int, resourceId int, req Lwm2mRequest) Lwm2mResponse
- func (o *TestDeviceObject) Reboot() Value
- func (o *TestDeviceObject) ResetErrorCode() string
- type TimeValue
- type UnauthorizedResponse
- type Validator
- type Value
- func Boolean(v ...bool) Value
- func BytesToIntegerValue(b []byte) (conv Value)
- func DecodeResourceValue(resourceId LWM2MResourceType, b []byte, resourceDef ResourceDefinition) (Value, error)
- func Empty() Value
- func Float(v ...float32) Value
- func Float64(v ...float64) Value
- func Integer(v ...int) Value
- func Multiple(ct ValueTypeCode, v ...Value) Value
- func MultipleIntegers(v ...Value) Value
- func NewMultipleResourceValue(id LWM2MResourceType, value []*ResourceValue) Value
- func NewResourceValue(id LWM2MResourceType, value Value) Value
- func String(v ...string) Value
- func Time(v ...time.Time) Value
- func ValueByType(t ValueTypeCode, val []byte) Value
- func ValueFromBytes(b []byte, v ValueTypeCode) Value
- type ValueTypeCode
- type YamlObjectDefinition
Constants ¶
const ( POWERSOURCE_DC = 0 POWERSOURCE_INTERNAL = 1 POWERSOURCE_EXTERNAL = 2 POWERSOURCE_OVER_ETHERNET = 4 POWERSOURCE_USB = 5 POWERSOURCE_AC = 6 POWERSOURCE_SOLAR = 7 )
const ( SERVER_EXEC_DISABLE = 4 SERVER_EXEC_REG_UPDATE_TRIGGER = 8 DEVICE_EXEC_REBOOT = 4 DEVICE_EXEC_FACTORY_RESET = 5 DEVICE_EXEC_RESET_ERROR_CODE = 12 FIRMWARE_EXEC_UPDATE = 2 CONNECTIVITY_STATS_EXEC_STARTRESET = 6 )
const ( SECURITYMODE_PRESHAREDKEY = 0 SECURITYMODE_RAWPK = 1 SECURITYMODE_CERTIFICATE = 2 SECURITYMODE_NOSEC = 3 )
const ( BATTERYSTATUS_NORMAL = 0 BATTERYSTATUS_CHARGING = 1 BATTERYSTATUS_CHARGE_COMPLETE = 2 BATTERYSTATUS_DAMAGED = 3 BATTERYSTATUS_LOW_BATTERY = 4 BATTERYSTATUS_NOT_INSTALLED = 5 BATTERYSTATUS_UNKNOWN = 6 )
const ( ERRORCODE_NO_ERROR = 0 ERRORCODE_LOW_BATTERY_POWER = 1 ERRORCODE_EXTERNAL_POWER_SUPPLY_OFF = 2 ERRORCODE_GPS_MODULE_FAILURE = 3 ERRORCODE_LOW_RECEIVED_SIGNAL_STRENGTH = 4 ERRORCODE_OUT_OF_MEMORY = 5 ERRORCODE_SMS_FAILURE = 6 ERRORCODE_IP_CONNECTIVITY_FAILURE = 7 ERRORCODE_PERIPHERAL_MALFUNCTION = 8 )
const ( FWUPDATE_STATE_IDLE = 1 FWUPDATE_STATE_DOWNLOADING = 2 FWUPDATE_STATE_DOWNLOADED = 3 FWUPDATE_RESULT_DEFAULT = 0 FWUPDATE_RESULT_SUCCESSFUL = 1 FWUPDATE_RESULT_NOT_ENOUGH_STORAGE = 2 FWUPDATE_RESULT_OUT_OF_MEMORY = 3 FWUPDATE_RESULT_CONNECTION_LOST = 4 FWUPDATE_RESULT_CRC_CHECK = 5 FWUPDATE_RESULT_UNSUPPORTED_PACKAGE_TYPE = 6 FWUPDATE_RESULT_INVALID_URI = 7 )
const ( METER = "m" KILOBYTE = "KB" BYTE = "Byte" MILLI_VOLT = "mV" MILLI_AMP = "mA" PERCENT = "%" DECIBEL_MILLIWATT = "dBm" MILLSECOND = "ms" WATT = "W" WATT_HOUR = "Wh" VOLTAMPERE_REACTIVE = "VAR" VOLTAMPERE_REACTIVE_HOUR = "VARh" SECOND = "s" DEGREE = "Deg" )
const ( TLV_FIELD_IDENTIFIER_TYPE = 192 TLV_FIELD_IDENTIFIER_LENGTH = 32 TLV_FIELD_TYPE_OF_LENGTH = 24 TLV_FIELD_LENGTH_OF_VALUE = 7 )
const ( TYPEFIELD_TYPE_OBJECTINSTANCE = 0 // 00 TYPEFIELD_TYPE_RESOURCEINSTANCE = 64 // 01 TYPEFIELD_TYPE_MULTIPLERESOURCE = 128 // 10 TYPEFIELD_TYPE_RESOURCE = 192 // 11 )
Variables ¶
This section is empty.
Functions ¶
func Asset ¶
Asset loads and returns the asset for the given name. It returns an error if the asset could not be found or could not be loaded.
func AssetDir ¶
AssetDir returns the file names below a certain directory embedded in the file by go-bindata. For example if you run go-bindata on data/... and data contains the following hierarchy:
data/ foo.txt img/ a.png b.png
then AssetDir("data") would return []string{"foo.txt", "img"} AssetDir("data/img") would return []string{"a.png", "b.png"} AssetDir("foo.txt") and AssetDir("notexist") would return an error AssetDir("") will return []string{"data"}.
func AssetInfo ¶
AssetInfo loads and returns the asset info for the given name. It returns an error if the asset could not be found or could not be loaded.
func BuildModelResourceStringPayload ¶
func BuildModelResourceStringPayload(instances LWM2MObjectInstances) string
BuildModelResourceStringPayload creates the string representation of resources for a LWM2M client in the Core-Resource format
func CallLwm2mEvent ¶
func CreateTlvIdentifierField ¶
CreateTlvIdentifierField Creates a TLV Identifier field
func CreateTlvLengthField ¶
func CreateTlvLengthField(value interface{}) []byte
CreateTlvLengthField creates a TLV Length Field
func CreateTlvTypeField ¶
|-------------||-------------||-------------||-------- ........ -----|
8-bit 8 or 16 bit 0-24 bit Type Identifier Length Value
0bxxxxxxxx 7-6: Type of Identifier
00: Object Instance 01: Resource Instance with Value 10: Multiple Resource 11: Resource with Value
5: Length of Identifier
0: 8 bits 1: 16 bits
4-3: Type of Length
00: NO length field, value immediately follows the identifier field 01: Length field is 8 bits and Bits 2-0 must be ignored 10: Length field is 16 bits and Bits 2-0 must be ignored 11: Length field is 24 bits and Bits 2-0 must be ignored
2-0: 3 bit unsigned integer indiciating Length of the Value
func CreateTlvValueField ¶
CreateTlvValueField creates a TLV Value Field
func DecodeLengthField ¶
DecodeLengthField decodes the length field and returns the type and value length
func DecodeTypeField ¶
func DecodeTypeField(typeField byte) (typeOfIdentifier byte, lengthOfIdentifier byte, typeOfLength byte, lengthOfValue byte)
DecodeTypeField extracts/decodes the TLV type field from a byte array
func EncodeValue ¶
func EncodeValue(resourceId LWM2MResourceType, allowMultipleValues bool, v Value) []byte
EncodeValue encodes the resource id and value and returns a byte array representation
func FnCoapDeleteClient ¶
func FnCoapDeleteClient(b *LWM2MServer) canopus.RouteHandler
func FnCoapRegisterClient ¶
func FnCoapRegisterClient(b *LWM2MServer) canopus.RouteHandler
func FnCoapUpdateClient ¶
func FnCoapUpdateClient(b *LWM2MServer) canopus.RouteHandler
func GetValueByteLength ¶
func IsExecutableResource ¶
func IsExecutableResource(m ResourceDefinition) bool
Checks if a resource type is executable
func IsReadableResource ¶
func IsReadableResource(m ResourceDefinition) bool
Checks if a resource type is readable
func IsWritableResource ¶
func IsWritableResource(m ResourceDefinition) bool
Checks if a resource type is writable
func MediaTypeFromValue ¶
func MustAsset ¶
MustAsset is like Asset but panics when Asset would return an error. It simplifies safe initialization of global variables.
func RestoreAsset ¶
RestoreAsset restores an asset under the given directory
func RestoreAssets ¶
RestoreAssets restores an asset under the given directory recursively
func ValidResourceTypeField ¶
ValidResourceTypeField Checks if a type field is of a valid type (resource instance, multiple resource etc)
Types ¶
type BadRequestResponse ¶
type BadRequestResponse struct { }
func (*BadRequestResponse) GetResponseCode ¶
func (r *BadRequestResponse) GetResponseCode() canopus.CoapCode
func (*BadRequestResponse) GetResponseValue ¶
func (r *BadRequestResponse) GetResponseValue() Value
type BetwixtServerStatistics ¶
type BetwixtServerStatistics struct {
// contains filtered or unexported fields
}
func (*BetwixtServerStatistics) GetRequestsCount ¶
func (s *BetwixtServerStatistics) GetRequestsCount() int
func (*BetwixtServerStatistics) IncrementCoapRequestsCount ¶
func (s *BetwixtServerStatistics) IncrementCoapRequestsCount()
type BindingMode ¶
type BindingMode string
Binding Modes
const ( BINDINGMODE_UDP BindingMode = "U" BINDINGMODE_UDP_WITH_QUEUE_MODE BindingMode = "UQ" BINDINGMODE_SMS BindingMode = "S" BINDINGMODE_SMS_WITH_QUEUE_MODE BindingMode = "SQ" BINDINGMODE_UDP_AND_SMS BindingMode = "US" BINDINGMODE_UDP_WITH_QUEUE_MODE_AND_SMS BindingMode = "UQS" )
type BooleanValue ¶
type BooleanValue struct {
// contains filtered or unexported fields
}
Boolean
func (*BooleanValue) GetBytes ¶
func (v *BooleanValue) GetBytes() []byte
func (*BooleanValue) GetContainedType ¶
func (v *BooleanValue) GetContainedType() ValueTypeCode
func (*BooleanValue) GetStringValue ¶
func (v *BooleanValue) GetStringValue() string
func (*BooleanValue) GetType ¶
func (v *BooleanValue) GetType() ValueTypeCode
func (*BooleanValue) GetValue ¶
func (v *BooleanValue) GetValue() interface{}
type ChangedResponse ¶
type ChangedResponse struct { }
func (*ChangedResponse) GetResponseCode ¶
func (r *ChangedResponse) GetResponseCode() canopus.CoapCode
func (*ChangedResponse) GetResponseValue ¶
func (r *ChangedResponse) GetResponseValue() Value
type ConflictResponse ¶
type ConflictResponse struct { }
func (*ConflictResponse) GetResponseCode ¶
func (r *ConflictResponse) GetResponseCode() canopus.CoapCode
func (*ConflictResponse) GetResponseValue ¶
func (r *ConflictResponse) GetResponseValue() Value
type ContentResponse ¶
type ContentResponse struct {
// contains filtered or unexported fields
}
func (*ContentResponse) GetResponseCode ¶
func (r *ContentResponse) GetResponseCode() canopus.CoapCode
func (*ContentResponse) GetResponseValue ¶
func (r *ContentResponse) GetResponseValue() Value
type CreatedResponse ¶
type CreatedResponse struct { }
func (*CreatedResponse) GetResponseCode ¶
func (r *CreatedResponse) GetResponseCode() canopus.CoapCode
func (*CreatedResponse) GetResponseValue ¶
func (r *CreatedResponse) GetResponseValue() Value
type DefaultLWM2MClient ¶
type DefaultLWM2MClient struct {
// contains filtered or unexported fields
}
DefaultLWM2MClient ;
func (*DefaultLWM2MClient) AddObjectInstance ¶
func (c *DefaultLWM2MClient) AddObjectInstance(t LWM2MObjectType, instance int) error
AddObjectInstance ; Adds a new object instance for a previously enabled LWM2M object type
func (*DefaultLWM2MClient) AddObjectInstances ¶
func (c *DefaultLWM2MClient) AddObjectInstances(t LWM2MObjectType, instances ...int)
AddObjectInstances ; Adds a list of object instance for a previously enabled LWM2M object type
func (*DefaultLWM2MClient) Deregister ¶
func (c *DefaultLWM2MClient) Deregister()
Deregister ; Unregisters this client from a LWM2M server which was previously registered
func (*DefaultLWM2MClient) EnableObject ¶
func (c *DefaultLWM2MClient) EnableObject(t LWM2MObjectType, e ObjectEnabler) error
EnableObject ; Registes an object enabler for a given LWM2M object type
func (*DefaultLWM2MClient) GetEnabledObjects ¶
func (c *DefaultLWM2MClient) GetEnabledObjects() map[LWM2MObjectType]Object
GetEnabledObjects ; Returns a list of LWM2M Enabled Objects
func (*DefaultLWM2MClient) GetObject ¶
func (c *DefaultLWM2MClient) GetObject(n LWM2MObjectType) Object
GetObject ;
func (*DefaultLWM2MClient) GetRegistry ¶
func (c *DefaultLWM2MClient) GetRegistry() Registry
GetRegistry ; Returns the registry used for looking up LWM2M object type definitions
func (*DefaultLWM2MClient) OnError ¶
func (c *DefaultLWM2MClient) OnError(fn FnOnError)
func (*DefaultLWM2MClient) OnExecute ¶
func (c *DefaultLWM2MClient) OnExecute(fn FnOnExecute)
func (*DefaultLWM2MClient) OnObserve ¶
func (c *DefaultLWM2MClient) OnObserve(fn FnOnError)
func (*DefaultLWM2MClient) OnRead ¶
func (c *DefaultLWM2MClient) OnRead(fn FnOnRead)
func (*DefaultLWM2MClient) OnStartup ¶
func (c *DefaultLWM2MClient) OnStartup(fn FnOnStartup)
Events
func (*DefaultLWM2MClient) OnWrite ¶
func (c *DefaultLWM2MClient) OnWrite(fn FnOnWrite)
func (*DefaultLWM2MClient) Register ¶
func (c *DefaultLWM2MClient) Register(name string) (string, error)
Register this client to a LWM2M Server instance name must be unique and be less than 10 characers
func (*DefaultLWM2MClient) SetEnabler ¶
func (c *DefaultLWM2MClient) SetEnabler(t LWM2MObjectType, e ObjectEnabler)
SetEnabler ; Sets/Defines an Enabler for a given LWM2M Object Type
func (*DefaultLWM2MClient) Start ¶
func (c *DefaultLWM2MClient) Start()
Start up the LWM2M client, listens to incoming requests and fires the OnStart event
func (*DefaultLWM2MClient) UseRegistry ¶
func (c *DefaultLWM2MClient) UseRegistry(reg Registry)
UseRegistry ;
type DefaultObject ¶
type DefaultObject struct {
// contains filtered or unexported fields
}
func (*DefaultObject) AddInstance ¶
func (o *DefaultObject) AddInstance(n int)
func (*DefaultObject) GetDefinition ¶
func (o *DefaultObject) GetDefinition() ObjectDefinition
func (*DefaultObject) GetEnabler ¶
func (o *DefaultObject) GetEnabler() ObjectEnabler
func (*DefaultObject) GetInstances ¶
func (o *DefaultObject) GetInstances() []int
func (*DefaultObject) GetType ¶
func (o *DefaultObject) GetType() LWM2MObjectType
func (*DefaultObject) RemoveInstance ¶
func (o *DefaultObject) RemoveInstance(n int)
func (*DefaultObject) SetEnabler ¶
func (o *DefaultObject) SetEnabler(e ObjectEnabler)
type DefaultObjectDefinition ¶
type DefaultObjectDefinition struct { Id LWM2MObjectType Name string Description string Multiple bool Mandatory bool Resources []ResourceDefinition }
Objects are fundamental part of LWM2M DefaultObjectDefinition describes a LWM2M Object
func (*DefaultObjectDefinition) AllowMultiple ¶
func (o *DefaultObjectDefinition) AllowMultiple() bool
func (*DefaultObjectDefinition) GetDescription ¶
func (o *DefaultObjectDefinition) GetDescription() string
func (*DefaultObjectDefinition) GetName ¶
func (o *DefaultObjectDefinition) GetName() string
func (*DefaultObjectDefinition) GetResource ¶
func (o *DefaultObjectDefinition) GetResource(n LWM2MResourceType) ResourceDefinition
func (*DefaultObjectDefinition) GetResources ¶
func (o *DefaultObjectDefinition) GetResources() []ResourceDefinition
func (*DefaultObjectDefinition) GetType ¶
func (o *DefaultObjectDefinition) GetType() LWM2MObjectType
func (*DefaultObjectDefinition) IsMandatory ¶
func (o *DefaultObjectDefinition) IsMandatory() bool
func (*DefaultObjectDefinition) SetResources ¶
func (o *DefaultObjectDefinition) SetResources(r []ResourceDefinition)
type DefaultObjectInstance ¶
type DefaultObjectInstance struct { Id int TypeId LWM2MObjectType }
DefaultObjectInstance
func (*DefaultObjectInstance) GetId ¶
func (o *DefaultObjectInstance) GetId() int
func (*DefaultObjectInstance) GetTypeId ¶
func (o *DefaultObjectInstance) GetTypeId() LWM2MObjectType
type DefaultRegisteredClient ¶
type DefaultRegisteredClient struct {
// contains filtered or unexported fields
}
func (*DefaultRegisteredClient) Delete ¶
func (c *DefaultRegisteredClient) Delete(int, int)
func (*DefaultRegisteredClient) GetAddress ¶
func (c *DefaultRegisteredClient) GetAddress() string
func (*DefaultRegisteredClient) GetBindingMode ¶
func (c *DefaultRegisteredClient) GetBindingMode() BindingMode
func (*DefaultRegisteredClient) GetId ¶
func (c *DefaultRegisteredClient) GetId() string
func (*DefaultRegisteredClient) GetLifetime ¶
func (c *DefaultRegisteredClient) GetLifetime() int
func (*DefaultRegisteredClient) GetName ¶
func (c *DefaultRegisteredClient) GetName() string
func (*DefaultRegisteredClient) GetObject ¶
func (c *DefaultRegisteredClient) GetObject(t LWM2MObjectType) Object
func (*DefaultRegisteredClient) GetObjects ¶
func (c *DefaultRegisteredClient) GetObjects() map[LWM2MObjectType]Object
func (*DefaultRegisteredClient) GetRegistrationDate ¶
func (c *DefaultRegisteredClient) GetRegistrationDate() time.Time
func (*DefaultRegisteredClient) GetSmsNumber ¶
func (c *DefaultRegisteredClient) GetSmsNumber() string
func (*DefaultRegisteredClient) GetVersion ¶
func (c *DefaultRegisteredClient) GetVersion() string
func (*DefaultRegisteredClient) LastUpdate ¶
func (c *DefaultRegisteredClient) LastUpdate() time.Time
func (*DefaultRegisteredClient) ReadObject ¶
func (c *DefaultRegisteredClient) ReadObject(obj uint16, inst uint16) (Value, error)
func (*DefaultRegisteredClient) ReadResource ¶
func (*DefaultRegisteredClient) SetObjects ¶
func (c *DefaultRegisteredClient) SetObjects(objects map[LWM2MObjectType]Object)
func (*DefaultRegisteredClient) Update ¶
func (c *DefaultRegisteredClient) Update()
type DefaultRequest ¶
type DefaultRequest struct {
// contains filtered or unexported fields
}
func (*DefaultRequest) GetCoapRequest ¶
func (r *DefaultRequest) GetCoapRequest() canopus.Request
func (*DefaultRequest) GetMessage ¶
func (r *DefaultRequest) GetMessage() canopus.Message
func (*DefaultRequest) GetOperationType ¶
func (r *DefaultRequest) GetOperationType() OperationType
func (*DefaultRequest) GetPath ¶
func (r *DefaultRequest) GetPath() string
type DefaultResourceDefinition ¶
type DefaultResourceDefinition struct { Id LWM2MResourceType Name string Operations OperationCode Multiple bool Mandatory bool ResourceType ValueTypeCode Units string RangeOrEnums string Description string ValueValidator Validator }
func (*DefaultResourceDefinition) GetDescription ¶
func (o *DefaultResourceDefinition) GetDescription() string
func (*DefaultResourceDefinition) GetId ¶
func (o *DefaultResourceDefinition) GetId() LWM2MResourceType
func (*DefaultResourceDefinition) GetName ¶
func (o *DefaultResourceDefinition) GetName() string
func (*DefaultResourceDefinition) GetOperations ¶
func (o *DefaultResourceDefinition) GetOperations() OperationCode
func (*DefaultResourceDefinition) GetRangeOrEnums ¶
func (o *DefaultResourceDefinition) GetRangeOrEnums() string
func (*DefaultResourceDefinition) GetResourceType ¶
func (o *DefaultResourceDefinition) GetResourceType() ValueTypeCode
func (*DefaultResourceDefinition) GetUnits ¶
func (o *DefaultResourceDefinition) GetUnits() string
func (*DefaultResourceDefinition) IsMandatory ¶
func (o *DefaultResourceDefinition) IsMandatory() bool
func (*DefaultResourceDefinition) MultipleValuesAllowed ¶
func (o *DefaultResourceDefinition) MultipleValuesAllowed() bool
type DeletedResponse ¶
type DeletedResponse struct { }
func (*DeletedResponse) GetResponseCode ¶
func (r *DeletedResponse) GetResponseCode() canopus.CoapCode
func (*DeletedResponse) GetResponseValue ¶
func (r *DeletedResponse) GetResponseValue() Value
type EmptyValue ¶
type EmptyValue struct { }
func (*EmptyValue) GetBytes ¶
func (v *EmptyValue) GetBytes() []byte
func (*EmptyValue) GetContainedType ¶
func (v *EmptyValue) GetContainedType() ValueTypeCode
func (*EmptyValue) GetStringValue ¶
func (v *EmptyValue) GetStringValue() string
func (*EmptyValue) GetType ¶
func (v *EmptyValue) GetType() ValueTypeCode
func (*EmptyValue) GetValue ¶
func (v *EmptyValue) GetValue() interface{}
type Float64Value ¶
type Float64Value struct {
// contains filtered or unexported fields
}
Float64
func (*Float64Value) GetBytes ¶
func (v *Float64Value) GetBytes() []byte
func (*Float64Value) GetContainedType ¶
func (v *Float64Value) GetContainedType() ValueTypeCode
func (*Float64Value) GetStringValue ¶
func (v *Float64Value) GetStringValue() string
func (*Float64Value) GetType ¶
func (v *Float64Value) GetType() ValueTypeCode
func (*Float64Value) GetValue ¶
func (v *Float64Value) GetValue() interface{}
type FloatValue ¶
type FloatValue struct {
// contains filtered or unexported fields
}
func (*FloatValue) GetBytes ¶
func (v *FloatValue) GetBytes() []byte
func (*FloatValue) GetContainedType ¶
func (v *FloatValue) GetContainedType() ValueTypeCode
func (*FloatValue) GetStringValue ¶
func (v *FloatValue) GetStringValue() string
func (*FloatValue) GetType ¶
func (v *FloatValue) GetType() ValueTypeCode
func (*FloatValue) GetValue ¶
func (v *FloatValue) GetValue() interface{}
type FnOnRegistered ¶
type FnOnRegistered func(RegisteredClient)
Event Callback for a register request
type IPSOSmartObjects ¶
type IPSOSmartObjects struct {
// contains filtered or unexported fields
}
This represents a list of LWM2M objects registered to the OMA NA for LWM2M donated by IPSO
func (*IPSOSmartObjects) AddObject ¶
func (o *IPSOSmartObjects) AddObject(m ObjectDefinition, res []ResourceDefinition)
func (*IPSOSmartObjects) AddObjects ¶
func (o *IPSOSmartObjects) AddObjects(od []ObjectDefinition)
func (*IPSOSmartObjects) GetObject ¶
func (o *IPSOSmartObjects) GetObject(n LWM2MObjectType) ObjectDefinition
func (*IPSOSmartObjects) GetObjects ¶
func (o *IPSOSmartObjects) GetObjects() map[LWM2MObjectType]ObjectDefinition
func (*IPSOSmartObjects) Initialize ¶
func (o *IPSOSmartObjects) Initialize()
type IdentifierType ¶
type IdentifierType byte
Type of LWM2M value
const ( IDENTIFIER_OBJECT_INSTANCE IdentifierType = 0 IDENTIFIER_RESOURCE_INSTANCE IdentifierType = 1 IDENTIFIER_RESOURCES IdentifierType = 2 IDENTIFIER_RESOURCE_WITH_VALUE IdentifierType = 3 )
type InMemoryStore ¶
type InMemoryStore struct {
// contains filtered or unexported fields
}
func NewInMemoryStore ¶
func NewInMemoryStore() *InMemoryStore
func (*InMemoryStore) Close ¶
func (db *InMemoryStore) Close()
func (*InMemoryStore) DeleteClient ¶
func (db *InMemoryStore) DeleteClient(name string)
func (*InMemoryStore) GetClient ¶
func (db *InMemoryStore) GetClient(name string) RegisteredClient
func (*InMemoryStore) GetClients ¶
func (db *InMemoryStore) GetClients() map[string]RegisteredClient
func (*InMemoryStore) Init ¶
func (db *InMemoryStore) Init()
func (*InMemoryStore) PutClient ¶
func (db *InMemoryStore) PutClient(name string, c RegisteredClient)
func (*InMemoryStore) UpdateTS ¶
func (db *InMemoryStore) UpdateTS(name string)
type IntegerValue ¶
type IntegerValue struct {
// contains filtered or unexported fields
}
func (*IntegerValue) GetBytes ¶
func (v *IntegerValue) GetBytes() []byte
func (*IntegerValue) GetContainedType ¶
func (v *IntegerValue) GetContainedType() ValueTypeCode
func (*IntegerValue) GetStringValue ¶
func (v *IntegerValue) GetStringValue() string
func (*IntegerValue) GetType ¶
func (v *IntegerValue) GetType() ValueTypeCode
func (*IntegerValue) GetValue ¶
func (v *IntegerValue) GetValue() interface{}
type LWM2MClient ¶
type LWM2MClient interface { AddObjectInstance(LWM2MObjectType, int) error AddObjectInstances(LWM2MObjectType, ...int) AddResource() AddObject() Register(string) (string, error) Deregister() Update() UseRegistry(Registry) EnableObject(LWM2MObjectType, ObjectEnabler) error SetEnabler(LWM2MObjectType, ObjectEnabler) GetRegistry() Registry GetEnabledObjects() map[LWM2MObjectType]Object GetObject(n LWM2MObjectType) Object Start() // Events OnStartup(FnOnStartup) OnRead(FnOnRead) OnWrite(FnOnWrite) OnExecute(FnOnExecute) OnError(FnOnError) }
LWM2MClient interface defining a LWM2M Client
func NewLwm2mClient ¶
func NewLwm2mClient(name, local, remote string, registry Registry) LWM2MClient
NewLwm2mClient instantiates a new instance of LWM2M Client
func NewMockClient ¶
func NewMockClient() LWM2MClient
type LWM2MCoreObjects ¶
type LWM2MCoreObjects struct {
// contains filtered or unexported fields
}
This represents a list of LWM2M Starter Pack objects registered to the OMA NA
func (*LWM2MCoreObjects) AddObject ¶
func (o *LWM2MCoreObjects) AddObject(m ObjectDefinition, res []ResourceDefinition)
func (*LWM2MCoreObjects) AddObjects ¶
func (o *LWM2MCoreObjects) AddObjects(od []ObjectDefinition)
func (*LWM2MCoreObjects) GetObject ¶
func (o *LWM2MCoreObjects) GetObject(n LWM2MObjectType) ObjectDefinition
func (*LWM2MCoreObjects) GetObjects ¶
func (o *LWM2MCoreObjects) GetObjects() map[LWM2MObjectType]ObjectDefinition
func (*LWM2MCoreObjects) Initialize ¶
func (o *LWM2MCoreObjects) Initialize()
type LWM2MObjectInstances ¶
type LWM2MObjectInstances map[LWM2MObjectType]Object
LWM2MObjectInstances contains instances of LWM2M Objects by Type
type LWM2MObjectType ¶
type LWM2MObjectType uint16
LWM2MObjectType represents a LWM2M Object Type
const ( IPSO_OBJECT_IPSO_DIGITAL_INPUT LWM2MObjectType = 3200 IPSO_OBJECT_IPSO_DIGITAL_OUTPUT LWM2MObjectType = 3201 IPSO_OBJECT_IPSO_ANALOG_INPUT LWM2MObjectType = 3202 IPSO_OBJECT_IPSO_ANALOG_OUTPUT LWM2MObjectType = 3203 IPSO_OBJECT_IPSO_GENERIC_SENSOR LWM2MObjectType = 3300 IPSO_OBJECT_IPSO_ILLUMINANCE LWM2MObjectType = 3301 IPSO_OBJECT_IPSO_PRESENCE LWM2MObjectType = 3302 IPSO_OBJECT_IPSO_TEMPERATURE LWM2MObjectType = 3303 IPSO_OBJECT_IPSO_HUMIDITY LWM2MObjectType = 3304 IPSO_OBJECT_IPSO_POWER_MEASUREMENT LWM2MObjectType = 3305 IPSO_OBJECT_IPSO_ACTUATION LWM2MObjectType = 3306 IPSO_OBJECT_IPSO_SET_POINT LWM2MObjectType = 3308 IPSO_OBJECT_IPSO_LOAD_CONTROL LWM2MObjectType = 3310 IPSO_OBJECT_IPSO_LIGHT_CONTROL LWM2MObjectType = 3311 IPSO_OBJECT_IPSO_POWER_CONTROL LWM2MObjectType = 3312 IPSO_OBJECT_IPSO_ACCELEROMETER LWM2MObjectType = 3313 IPSO_OBJECT_IPSO_MAGNETOMETER LWM2MObjectType = 3314 IPSO_OBJECT_IPSO_BAROMETER LWM2MObjectType = 3315 IPSO_OBJECT_IPSO_VOLTAGE LWM2MObjectType = 3316 IPSO_OBJECT_IPSO_CURRENT LWM2MObjectType = 3317 IPSO_OBJECT_IPSO_FREQUENCY LWM2MObjectType = 3318 IPSO_OBJECT_IPSO_DEPTH LWM2MObjectType = 3319 IPSO_OBJECT_IPSO_PERCENTAGE LWM2MObjectType = 3320 IPSO_OBJECT_IPSO_ALTITUDE LWM2MObjectType = 3321 IPSO_OBJECT_IPSO_LOAD LWM2MObjectType = 3322 IPSO_OBJECT_IPSO_PRESSURE LWM2MObjectType = 3323 IPSO_OBJECT_IPSO_LOUDNESS LWM2MObjectType = 3324 IPSO_OBJECT_IPSO_CONCENTRATION LWM2MObjectType = 3325 IPSO_OBJECT_IPSO_ACIDITY LWM2MObjectType = 3326 IPSO_OBJECT_IPSO_CONDUCTIVITY LWM2MObjectType = 3327 IPSO_OBJECT_IPSO_POWER LWM2MObjectType = 3328 IPSO_OBJECT_IPSO_POWER_FACTOR LWM2MObjectType = 3329 IPSO_OBJECT_IPSO_DISTANCE LWM2MObjectType = 3330 IPSO_OBJECT_IPSO_ENERGY LWM2MObjectType = 3331 IPSO_OBJECT_IPSO_DIRECTION LWM2MObjectType = 3332 IPSO_OBJECT_IPSO_TIME LWM2MObjectType = 3333 IPSO_OBJECT_IPSO_GYROMETER LWM2MObjectType = 3334 IPSO_OBJECT_IPSO_COLOR LWM2MObjectType = 3335 IPSO_OBJECT_IPSO_GPS_LOCATION LWM2MObjectType = 3336 IPSO_OBJECT_IPSO_POSITIONER LWM2MObjectType = 3337 IPSO_OBJECT_IPSO_BUZZER LWM2MObjectType = 3338 IPSO_OBJECT_IPSO_AUDIO_CLIP LWM2MObjectType = 3339 IPSO_OBJECT_IPSO_TIMER LWM2MObjectType = 3340 IPSO_OBJECT_IPSO_ADDRESSABLE_TEXT_DISPLAY LWM2MObjectType = 3341 IPSO_OBJECT_IPSO_ONOFF_SWITCH LWM2MObjectType = 3342 IPSO_OBJECT_IPSO_LEVER_CONTROL LWM2MObjectType = 3343 IPSO_OBJECT_IPSO_UPDOWN_CONTROL LWM2MObjectType = 3344 IPSO_OBJECT_IPSO_MULTIPLE_AXIS_JOYSTICK LWM2MObjectType = 3345 IPSO_OBJECT_IPSO_RATE LWM2MObjectType = 3346 IPSO_OBJECT_IPSO_PUSH_BUTTON LWM2MObjectType = 3347 IPSO_OBJECT_IPSO_MULTISTATE_SELECTOR LWM2MObjectType = 3348 )
const ( OMA_OBJECT_LWM2M_SECURITY LWM2MObjectType = 0 OMA_OBJECT_LWM2M_SERVER LWM2MObjectType = 1 OMA_OBJECT_LWM2M_ACCESS_CONTROL LWM2MObjectType = 2 OMA_OBJECT_LWM2M_DEVICE LWM2MObjectType = 3 OMA_OBJECT_LWM2M_CONNECTIVITY_MONITORING LWM2MObjectType = 4 OMA_OBJECT_LWM2M_FIRMWARE_UPDATE LWM2MObjectType = 5 OMA_OBJECT_LWM2M_LOCATION LWM2MObjectType = 6 OMA_OBJECT_LWM2M_CONNECTIVITY_STATISTICS LWM2MObjectType = 7 )
type LWM2MResourceType ¶
type LWM2MResourceType uint16
LWM2MResourceType represents a LWM2M Resource Type
func DecodeIdentifierField ¶
func DecodeIdentifierField(b []byte, pos int) (identifier LWM2MResourceType, typeLength int)
Decodes the identifier field and returns the type and length
type LWM2MServer ¶
type LWM2MServer struct { Name string Store Store CoapServer canopus.CoapServer CoapConn canopus.Connection Config ServerConfig Stats ServerStatistics Events map[EventType]FnEvent Registry Registry EvtOnRegistered FnOnRegistered EvtOnDeregistered FnOnDeregistered }
func NewLwm2mServer ¶
func NewLwm2mServer(name string, store Store, cfg ServerConfig) *LWM2MServer
func (*LWM2MServer) Delete ¶
func (b *LWM2MServer) Delete(id string)
func (*LWM2MServer) GetClient ¶
func (b *LWM2MServer) GetClient(id string) RegisteredClient
func (*LWM2MServer) GetClients ¶
func (b *LWM2MServer) GetClients() map[string]RegisteredClient
func (*LWM2MServer) GetServerStats ¶
func (b *LWM2MServer) GetServerStats() ServerStatistics
func (*LWM2MServer) OnDeregistered ¶
func (c *LWM2MServer) OnDeregistered(fn FnOnDeregistered)
func (*LWM2MServer) OnRegistered ¶
func (c *LWM2MServer) OnRegistered(fn FnOnRegistered)
func (*LWM2MServer) Register ¶
func (b *LWM2MServer) Register(ep string, addr string, resources []*canopus.CoreResource) (string, error)
func (*LWM2MServer) Serve ¶
func (b *LWM2MServer) Serve() error
func (*LWM2MServer) Update ¶
func (b *LWM2MServer) Update(id string)
func (*LWM2MServer) UseRegistry ¶
func (b *LWM2MServer) UseRegistry(reg Registry)
type LengthValidator ¶
type LengthValidator struct {
// contains filtered or unexported fields
}
func (*LengthValidator) Valid ¶
func (v *LengthValidator) Valid(val interface{}) bool
type Lwm2mRequest ¶
type Lwm2mRequest interface { GetPath() string GetMessage() canopus.Message GetOperationType() OperationType GetCoapRequest() canopus.Request }
Lwm2mRequest interface represents an incoming request from a server
func Default ¶
func Default(coap canopus.Request, op OperationType) Lwm2mRequest
Default is a helper/shortcut method which creates a Default LWM2M Request
func Nil ¶
func Nil(op OperationType) Lwm2mRequest
type Lwm2mResponse ¶
Lwm2mResponse interface represents an outgoing response to a server
func BadRequest ¶
func BadRequest() Lwm2mResponse
BadRequest creates a LWM2M Response (BadRequestResponse) with CoAP code 400 - Bad Request
func Changed ¶
func Changed() Lwm2mResponse
Changed creates a LWM2M Response (ChangedResponse) with CoAP code 204 - Changed
func Conflict ¶
func Conflict() Lwm2mResponse
Conflict creates a LWM2M Response (ConflictResponse) with CoAP code 409 - Conflict
func Content ¶
func Content(val Value) Lwm2mResponse
Content creates a LWM2M Response (ContentResponse) with CoAP code 205 - Content
func Created ¶
func Created() Lwm2mResponse
Created creates a LWM2M Response (CreatedResponse) with CoAP code 201 - Created
func Deleted ¶
func Deleted() Lwm2mResponse
Deleted creates a LWM2M Response (DeletedResponse) with CoAP code 202 - Deleted
func MethodNotAllowed ¶
func MethodNotAllowed() Lwm2mResponse
/ MethodNotAllowed creates a LWM2M Response (MethodNotAllowedResponse) with CoAP code 405 - Method Not Allowed
func NotFound ¶
func NotFound() Lwm2mResponse
NotFound creates a LWM2M Response (NotFoundResponse) with CoAP code 404 - Not Found
func Unauthorized ¶
func Unauthorized() Lwm2mResponse
Unauthorized creates a LWM2M Response (UnauthorizedResponse) with CoAP code 401 - Unauthorized
type MethodNotAllowedResponse ¶
type MethodNotAllowedResponse struct { }
func (*MethodNotAllowedResponse) GetResponseCode ¶
func (r *MethodNotAllowedResponse) GetResponseCode() canopus.CoapCode
func (*MethodNotAllowedResponse) GetResponseValue ¶
func (r *MethodNotAllowedResponse) GetResponseValue() Value
type MockClient ¶
type MockClient struct {
// contains filtered or unexported fields
}
func (*MockClient) AddObject ¶
func (c *MockClient) AddObject()
func (*MockClient) AddObjectInstance ¶
func (c *MockClient) AddObjectInstance(LWM2MObjectType, int) error
func (*MockClient) AddObjectInstances ¶
func (c *MockClient) AddObjectInstances(LWM2MObjectType, ...int)
func (*MockClient) AddResource ¶
func (c *MockClient) AddResource()
func (*MockClient) Deregister ¶
func (c *MockClient) Deregister()
func (*MockClient) EnableObject ¶
func (c *MockClient) EnableObject(t LWM2MObjectType, e ObjectEnabler) error
func (*MockClient) GetEnabledObjects ¶
func (c *MockClient) GetEnabledObjects() map[LWM2MObjectType]Object
func (*MockClient) GetObject ¶
func (c *MockClient) GetObject(n LWM2MObjectType) Object
func (*MockClient) GetRegistry ¶
func (c *MockClient) GetRegistry() Registry
func (*MockClient) OnDeregistered ¶
func (c *MockClient) OnDeregistered(FnOnDeregistered)
func (*MockClient) OnError ¶
func (c *MockClient) OnError(FnOnError)
func (*MockClient) OnExecute ¶
func (c *MockClient) OnExecute(FnOnExecute)
func (*MockClient) OnRead ¶
func (c *MockClient) OnRead(FnOnRead)
func (*MockClient) OnRegistered ¶
func (c *MockClient) OnRegistered(FnOnRegistered)
func (*MockClient) OnStartup ¶
func (c *MockClient) OnStartup(FnOnStartup)
func (*MockClient) OnWrite ¶
func (c *MockClient) OnWrite(FnOnWrite)
func (*MockClient) SetEnabler ¶
func (c *MockClient) SetEnabler(LWM2MObjectType, ObjectEnabler)
func (*MockClient) Start ¶
func (c *MockClient) Start()
func (*MockClient) Update ¶
func (c *MockClient) Update()
func (*MockClient) UseRegistry ¶
func (c *MockClient) UseRegistry(r Registry)
type MockObject ¶
type MockObject struct {
// contains filtered or unexported fields
}
func (*MockObject) AddInstance ¶
func (o *MockObject) AddInstance(int)
func (*MockObject) GetDefinition ¶
func (o *MockObject) GetDefinition() ObjectDefinition
func (*MockObject) GetEnabler ¶
func (o *MockObject) GetEnabler() ObjectEnabler
func (*MockObject) GetInstances ¶
func (o *MockObject) GetInstances() []int
func (*MockObject) GetType ¶
func (o *MockObject) GetType() LWM2MObjectType
func (*MockObject) RemoveInstance ¶
func (o *MockObject) RemoveInstance(int)
func (*MockObject) SetEnabler ¶
func (o *MockObject) SetEnabler(ObjectEnabler)
type MockRegistry ¶
type MockRegistry struct {
// contains filtered or unexported fields
}
func (*MockRegistry) GetDefinition ¶
func (r *MockRegistry) GetDefinition(t LWM2MObjectType) ObjectDefinition
func (*MockRegistry) GetDefinitions ¶
func (m *MockRegistry) GetDefinitions() []ObjectDefinition
func (*MockRegistry) GetMandatory ¶
func (r *MockRegistry) GetMandatory() []ObjectDefinition
func (*MockRegistry) Register ¶
func (m *MockRegistry) Register(s ObjectSource)
type MockServer ¶
type MockServer struct {
// contains filtered or unexported fields
}
func (*MockServer) GetClient ¶
func (server *MockServer) GetClient(id string) RegisteredClient
func (*MockServer) GetClients ¶
func (server *MockServer) GetClients() map[string]RegisteredClient
func (*MockServer) GetCoapServer ¶
func (server *MockServer) GetCoapServer() canopus.CoapServer
func (*MockServer) GetStats ¶
func (server *MockServer) GetStats() ServerStatistics
func (*MockServer) On ¶
func (server *MockServer) On(e EventType, fn FnEvent)
func (*MockServer) Start ¶
func (server *MockServer) Start()
func (*MockServer) UseRegistry ¶
func (server *MockServer) UseRegistry(reg Registry)
type MockServerStatistics ¶
type MockServerStatistics struct { }
func (*MockServerStatistics) GetRequestsCount ¶
func (s *MockServerStatistics) GetRequestsCount() int
func (*MockServerStatistics) IncrementCoapRequestsCount ¶
func (s *MockServerStatistics) IncrementCoapRequestsCount()
type MultipleResourceValue ¶
type MultipleResourceValue struct {
// contains filtered or unexported fields
}
func (MultipleResourceValue) GetBytes ¶
func (v MultipleResourceValue) GetBytes() []byte
func (MultipleResourceValue) GetContainedType ¶
func (v MultipleResourceValue) GetContainedType() ValueTypeCode
func (MultipleResourceValue) GetStringValue ¶
func (v MultipleResourceValue) GetStringValue() string
func (MultipleResourceValue) GetType ¶
func (v MultipleResourceValue) GetType() ValueTypeCode
func (MultipleResourceValue) GetValue ¶
func (v MultipleResourceValue) GetValue() interface{}
type MultipleValue ¶
type MultipleValue struct {
// contains filtered or unexported fields
}
func (*MultipleValue) GetBytes ¶
func (v *MultipleValue) GetBytes() []byte
func (*MultipleValue) GetContainedType ¶
func (v *MultipleValue) GetContainedType() ValueTypeCode
func (*MultipleValue) GetStringValue ¶
func (v *MultipleValue) GetStringValue() string
func (*MultipleValue) GetType ¶
func (v *MultipleValue) GetType() ValueTypeCode
func (*MultipleValue) GetValue ¶
func (v *MultipleValue) GetValue() interface{}
type NilRequest ¶
type NilRequest struct {
// contains filtered or unexported fields
}
func (*NilRequest) GetCoapRequest ¶
func (r *NilRequest) GetCoapRequest() canopus.Request
func (*NilRequest) GetMessage ¶
func (r *NilRequest) GetMessage() canopus.Message
func (*NilRequest) GetOperationType ¶
func (r *NilRequest) GetOperationType() OperationType
func (*NilRequest) GetPath ¶
func (r *NilRequest) GetPath() string
type NotFoundResponse ¶
type NotFoundResponse struct { }
func (*NotFoundResponse) GetResponseCode ¶
func (r *NotFoundResponse) GetResponseCode() canopus.CoapCode
func (*NotFoundResponse) GetResponseValue ¶
func (r *NotFoundResponse) GetResponseValue() Value
type NullEnabler ¶
type NullEnabler struct { }
func (*NullEnabler) OnCreate ¶
func (e *NullEnabler) OnCreate(int, int, Lwm2mRequest) Lwm2mResponse
func (*NullEnabler) OnDelete ¶
func (e *NullEnabler) OnDelete(int, Lwm2mRequest) Lwm2mResponse
func (*NullEnabler) OnExecute ¶
func (e *NullEnabler) OnExecute(int, int, Lwm2mRequest) Lwm2mResponse
func (*NullEnabler) OnRead ¶
func (e *NullEnabler) OnRead(int, int, Lwm2mRequest) Lwm2mResponse
func (*NullEnabler) OnWrite ¶
func (e *NullEnabler) OnWrite(int, int, Lwm2mRequest) Lwm2mResponse
type Object ¶
type Object interface { AddInstance(int) RemoveInstance(int) GetInstances() []int GetEnabler() ObjectEnabler GetType() LWM2MObjectType GetDefinition() ObjectDefinition SetEnabler(ObjectEnabler) }
An Object interface represents an Object used on a client or Objects supported by a Registered Client on a server Not to be confused with ObjectDefinition, which represents the definition of an Object
func NewMockObject ¶
func NewMockObject(t LWM2MObjectType, enabler ObjectEnabler, reg Registry) Object
func NewObject ¶
func NewObject(t LWM2MObjectType, enabler ObjectEnabler, reg Registry) Object
DefaultObject
type ObjectDefinition ¶
type ObjectDefinition interface { GetName() string GetType() LWM2MObjectType GetDescription() string SetResources([]ResourceDefinition) GetResources() []ResourceDefinition GetResource(n LWM2MResourceType) ResourceDefinition AllowMultiple() bool IsMandatory() bool }
ObjectDefinition interface defines a LWM2M Object
func ParseObjectDefinitionsJson ¶
func ParseObjectDefinitionsJson(data []byte) []ObjectDefinition
type ObjectEnabler ¶
type ObjectEnabler interface { OnRead(int, int, Lwm2mRequest) Lwm2mResponse OnDelete(int, Lwm2mRequest) Lwm2mResponse OnWrite(int, int, Lwm2mRequest) Lwm2mResponse OnCreate(int, int, Lwm2mRequest) Lwm2mResponse OnExecute(int, int, Lwm2mRequest) Lwm2mResponse }
ObjectEnabler interface to handler any incoming requests from a server for a given object
func NewNullEnabler ¶
func NewNullEnabler() ObjectEnabler
A default enabler which does abosolutely..nothing. Its still trying to find its purpose in life. Best of luck to it.
type ObjectRegistry ¶
type ObjectRegistry struct {
// contains filtered or unexported fields
}
ObjectRegistry is a registry containing known LWM2M objects registered to te OMA NA as well as custom objects It contains multiple ObjectSources which in turns each contains multiple Object definitions
func (*ObjectRegistry) GetDefinition ¶
func (m *ObjectRegistry) GetDefinition(n LWM2MObjectType) ObjectDefinition
func (*ObjectRegistry) GetDefinitions ¶
func (m *ObjectRegistry) GetDefinitions() []ObjectDefinition
func (*ObjectRegistry) GetMandatory ¶
func (m *ObjectRegistry) GetMandatory() []ObjectDefinition
Get all object definitions which are mandatory to be registered by a client (such as Firmware, Device etc)
func (*ObjectRegistry) Register ¶
func (m *ObjectRegistry) Register(s ObjectSource)
Registers a new ObjectSource to the tegistry
type ObjectSource ¶
type ObjectSource interface { Initialize() GetObject(n LWM2MObjectType) ObjectDefinition GetObjects() map[LWM2MObjectType]ObjectDefinition AddObject(m ObjectDefinition, res []ResourceDefinition) }
ObjectSource interface representing a source consumed by a Registry to resolve and retrieve LWM2M object definitions
type ObjectValue ¶
type ObjectValue struct {
// contains filtered or unexported fields
}
type OneM2MObjects ¶
type OneM2MObjects struct {
// contains filtered or unexported fields
}
type OperationCode ¶
type OperationCode int
LWM2M Operation Types
const ( OPERATION_NONE OperationCode = 0 OPERATION_R OperationCode = 1 OPERATION_W OperationCode = 2 OPERATION_RW OperationCode = 3 OPERATION_E OperationCode = 4 OPERATION_RE OperationCode = 5 OPERATION_WE OperationCode = 6 OPERATION_RWE OperationCode = 7 )
type OperationType ¶
type OperationType byte
const ( OPERATIONTYPE_REGISTER OperationType = 0 OPERATIONTYPE_UPDATE OperationType = 1 OPERATIONTYPE_DEREGISTER OperationType = 2 OPERATIONTYPE_READ OperationType = 3 OPERATIONTYPE_DISCOVER OperationType = 4 OPERATIONTYPE_WRITE OperationType = 5 OPERATIONTYPE_WRITE_ATTRIBUTES OperationType = 6 OPERATIONTYPE_EXECUTE OperationType = 7 OPERATIONTYPE_CREATE OperationType = 8 OPERATIONTYPE_DELETE OperationType = 9 OPERATIONTYPE_OBSERVE OperationType = 10 OPERATIONTYPE_NOTIFY OperationType = 11 OPERATIONTYPE_CANCEL_OBSERVE OperationType = 12 )
Operation Types
type RangeValidator ¶
type RangeValidator struct {
// contains filtered or unexported fields
}
func (*RangeValidator) Valid ¶
func (v *RangeValidator) Valid(val interface{}) bool
type RegisteredClient ¶
type RegisteredClient interface { GetId() string GetName() string GetLifetime() int GetVersion() string GetBindingMode() BindingMode GetSmsNumber() string GetRegistrationDate() time.Time Update() LastUpdate() time.Time SetObjects(map[LWM2MObjectType]Object) GetObjects() map[LWM2MObjectType]Object GetObject(LWM2MObjectType) Object GetAddress() string ReadObject(uint16, uint16) (Value, error) ReadResource(object uint16, instance uint16, resource uint16) (Value, error) Delete(int, int) Execute(int, int, int) }
RegisteredClient interface is an instance of a client registered on a server
func NewRegisteredClient ¶
func NewRegisteredClient(ep string, id string, addr string, coapServer CoapServer, coapConn Connection) RegisteredClient
Returns a new instance of DefaultRegisteredClient implementing RegisteredClient
type Registry ¶
type Registry interface { GetDefinition(LWM2MObjectType) ObjectDefinition Register(ObjectSource) GetMandatory() []ObjectDefinition GetDefinitions() []ObjectDefinition }
Registry interface represents a source from which LWM2M object definitions can be looked up/resolved or stored
func NewDefaultObjectRegistry ¶
func NewDefaultObjectRegistry() Registry
NewDefaultObjectRegistry instantiates a default rgistry containing the Starter Pack objects and IPSO smart objects
func NewMockRegistry ¶
func NewMockRegistry(s ...ObjectSource) Registry
func NewObjectRegistry ¶
func NewObjectRegistry(s ...ObjectSource) Registry
type ResourceDefinition ¶
type ResourceDefinition interface { GetId() LWM2MResourceType GetName() string GetDescription() string GetUnits() string GetRangeOrEnums() string IsMandatory() bool MultipleValuesAllowed() bool GetResourceType() ValueTypeCode GetOperations() OperationCode }
ResourceDefinition interface defines a LWM2M Resource
type ResourceValue ¶
type ResourceValue struct {
// contains filtered or unexported fields
}
func (ResourceValue) GetBytes ¶
func (v ResourceValue) GetBytes() []byte
func (ResourceValue) GetContainedType ¶
func (v ResourceValue) GetContainedType() ValueTypeCode
func (ResourceValue) GetId ¶
func (v ResourceValue) GetId() LWM2MResourceType
func (ResourceValue) GetStringValue ¶
func (v ResourceValue) GetStringValue() string
func (ResourceValue) GetType ¶
func (v ResourceValue) GetType() ValueTypeCode
func (ResourceValue) GetValue ¶
func (v ResourceValue) GetValue() interface{}
type Server ¶
type Server interface { UseRegistry(Registry) On(EventType, FnEvent) Start() GetClients() map[string]RegisteredClient GetClient(id string) RegisteredClient GetStats() ServerStatistics GetCoapServer() canopus.CoapServer }
Server interface defines a LWM2M Server
func NewMockServer ¶
func NewMockServer() Server
type ServerConfig ¶
type ServerStatistics ¶
type ServerStatistics interface { IncrementCoapRequestsCount() GetRequestsCount() int }
ServerStatistics Statistics recorded for the server
type Store ¶
type Store interface { Init() Close() GetClient(string) RegisteredClient GetClients() map[string]RegisteredClient PutClient(id string, c RegisteredClient) DeleteClient(id string) UpdateTS(id string) }
type StringValue ¶
type StringValue struct {
// contains filtered or unexported fields
}
func (*StringValue) GetBytes ¶
func (v *StringValue) GetBytes() []byte
func (*StringValue) GetContainedType ¶
func (v *StringValue) GetContainedType() ValueTypeCode
func (*StringValue) GetStringValue ¶
func (v *StringValue) GetStringValue() string
func (*StringValue) GetType ¶
func (v *StringValue) GetType() ValueTypeCode
func (*StringValue) GetValue ¶
func (v *StringValue) GetValue() interface{}
type TestDeviceObject ¶
type TestDeviceObject struct { Model ObjectDefinition // contains filtered or unexported fields }
func NewTestDeviceObject ¶
func NewTestDeviceObject(def ObjectDefinition) *TestDeviceObject
func (*TestDeviceObject) FactoryReset ¶
func (o *TestDeviceObject) FactoryReset() Value
func (*TestDeviceObject) OnCreate ¶
func (o *TestDeviceObject) OnCreate(instanceId int, resourceId int, req Lwm2mRequest) Lwm2mResponse
func (*TestDeviceObject) OnDelete ¶
func (o *TestDeviceObject) OnDelete(instanceId int, req Lwm2mRequest) Lwm2mResponse
func (*TestDeviceObject) OnExecute ¶
func (o *TestDeviceObject) OnExecute(instanceId int, resourceId int, req Lwm2mRequest) Lwm2mResponse
func (*TestDeviceObject) OnRead ¶
func (o *TestDeviceObject) OnRead(instanceId int, resourceId int, req Lwm2mRequest) Lwm2mResponse
func (*TestDeviceObject) OnWrite ¶
func (o *TestDeviceObject) OnWrite(instanceId int, resourceId int, req Lwm2mRequest) Lwm2mResponse
func (*TestDeviceObject) Reboot ¶
func (o *TestDeviceObject) Reboot() Value
func (*TestDeviceObject) ResetErrorCode ¶
func (o *TestDeviceObject) ResetErrorCode() string
type TimeValue ¶
type TimeValue struct {
// contains filtered or unexported fields
}
func (*TimeValue) GetContainedType ¶
func (v *TimeValue) GetContainedType() ValueTypeCode
func (*TimeValue) GetStringValue ¶
func (*TimeValue) GetType ¶
func (v *TimeValue) GetType() ValueTypeCode
type UnauthorizedResponse ¶
type UnauthorizedResponse struct { }
func (*UnauthorizedResponse) GetResponseCode ¶
func (r *UnauthorizedResponse) GetResponseCode() canopus.CoapCode
func (*UnauthorizedResponse) GetResponseValue ¶
func (r *UnauthorizedResponse) GetResponseValue() Value
type Validator ¶
type Validator interface {
Valid(val interface{}) bool
}
func NewLengthValidator ¶
func NewRangeValidator ¶
type Value ¶
type Value interface { GetBytes() []byte GetType() ValueTypeCode GetContainedType() ValueTypeCode GetValue() interface{} GetStringValue() string }
ResponseValue interface represents response to a server request Typical response could be plain text, TLV Binary, TLV JSON
func BytesToIntegerValue ¶
func DecodeResourceValue ¶
func DecodeResourceValue(resourceId LWM2MResourceType, b []byte, resourceDef ResourceDefinition) (Value, error)
DecodeResourceValue decodes the resource value
func Multiple ¶
func Multiple(ct ValueTypeCode, v ...Value) Value
func MultipleIntegers ¶
func NewMultipleResourceValue ¶
func NewMultipleResourceValue(id LWM2MResourceType, value []*ResourceValue) Value
func NewResourceValue ¶
func NewResourceValue(id LWM2MResourceType, value Value) Value
func ValueByType ¶
func ValueByType(t ValueTypeCode, val []byte) Value
func ValueFromBytes ¶
func ValueFromBytes(b []byte, v ValueTypeCode) Value
Extract value from a LWM2M byte fragment
type ValueTypeCode ¶
type ValueTypeCode byte
const ( VALUETYPE_EMPTY ValueTypeCode = 0 VALUETYPE_MULTIPLE ValueTypeCode = 1 VALUETYPE_STRING ValueTypeCode = 2 VALUETYPE_BYTE ValueTypeCode = 3 VALUETYPE_INTEGER ValueTypeCode = 4 VALUETYPE_INTEGER32 ValueTypeCode = 5 VALUETYPE_INTEGER64 ValueTypeCode = 6 VALUETYPE_FLOAT ValueTypeCode = 7 VALUETYPE_FLOAT64 ValueTypeCode = 8 VALUETYPE_BOOLEAN ValueTypeCode = 9 VALUETYPE_OPAQUE ValueTypeCode = 10 VALUETYPE_TIME ValueTypeCode = 11 VALUETYPE_OBJECTLINK ValueTypeCode = 12 VALUETYPE_OBJECT ValueTypeCode = 13 VALUETYPE_RESOURCE ValueTypeCode = 14 VALUETYPE_MULTIRESOURCE ValueTypeCode = 15 )