mirror of https://github.com/ARMmbed/mbed-os.git
46 lines
869 B
Plaintext
46 lines
869 B
Plaintext
@startuml
|
|
|
|
package ndef {
|
|
|
|
class MessageParser {
|
|
+MessageParser()
|
|
+void set_delegate(Delegate *delegate)
|
|
+void parse(const Span<const uint8_t> &data_buffer)
|
|
}
|
|
|
|
interface MessageParser::Delegate {
|
|
+{abstract} void on_parsing_started()
|
|
+{abstract} void on_record_parsed(const Record &record)
|
|
+{abstract} void on_parsing_terminated()
|
|
+{abstract} void on_parsing_error(error_t error)
|
|
# ~Delegate()
|
|
}
|
|
|
|
enum MessageParser::error_t {
|
|
}
|
|
|
|
MessageParser +-- "0..1" MessageParser::Delegate
|
|
MessageParser +-- MessageParser::error_t
|
|
|
|
note top of "MessageParser::Delegate"
|
|
Implemented by the client of the parsing operation.
|
|
end note
|
|
|
|
class Record {
|
|
}
|
|
class RecordType {
|
|
}
|
|
class RecordPayload {
|
|
}
|
|
class RecordID {
|
|
}
|
|
|
|
Record *-- RecordType
|
|
Record *-- "0..1" RecordPayload
|
|
Record *-- "0..1" RecordID
|
|
|
|
MessageParser - Record: Produce >
|
|
|
|
}
|
|
|
|
@enduml |