Skip to content

Commit a0b356b

Browse files
committed
NFC design doc: Update NDEF diagrams.
1 parent 8e75802 commit a0b356b

6 files changed

+37
-35
lines changed
Loading

docs/design-documents/nfc/uml_diagram_ndef_message_builder_diagram.txt

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,15 @@
33
package ndef {
44

55
class MessageBuilder {
6-
+MessageBuilder(uint8_t* buffer, size_t capacity)
6+
+MessageBuilder(const Span<uint8_t> &buffer)
77
+~MessageBuilder()
8-
+bool append_record(const RecordType& type, const RecordPayload* payload, bool is_last_record = false)
9-
+bool append_record(const Record& record)
10-
+const uint8_t* get_data() const;
11-
+size_t get_data_size() const;
8+
+bool append_record(const RecordType &type, const RecordPayload &payload = RecordPayload(), bool is_last_record = false)
9+
+bool append_record(const RecordType &type, const PayloadBuilder &builder, bool is_last_record = false)
10+
+bool append_record(const Record &record, const PayloadBuilder *builder = NULL)
11+
+void reset();
12+
+void reset(const Span<uint8_t> &buffer);
13+
+bool is_message_complete() const
14+
+Span<const uint8_t> get_message() const
1215
}
1316

1417
class Record {
@@ -23,41 +26,40 @@ class RecordPayload{
2326
class RecordID{
2427
}
2528

29+
interface MessageBuilder::PayloadBuilder {
30+
+{abstract} size_t size() const
31+
+{abstract} void build(const Span<uint8_t> &buffer) const
32+
# ~PayloadBuilder()
33+
}
34+
35+
2636
Record *-- RecordType
2737
Record *-- "0..1" RecordPayload
2838
Record *-- "0..1" RecordID
2939

3040
Record - MessageBuilder: insert >
41+
MessageBuilder - MessageBuilder::PayloadBuilder: < build payload at insertion
3142

3243
}
3344

3445
package common {
3546

36-
class SimpleMessageBuilder {
37-
+SimpleMessageBuilder(uint8_t* buffer, size_t capacity)
38-
+~SimpleMessageBuilder()
39-
+bool append_uri(const URI&)
40-
+bool append_text(const Text&)
41-
+bool append_mime(const Mime&)
42-
}
4347

4448
class URI {
45-
+friend bool append_record(ndef::MessageBuilder&, const URI&)
49+
+bool append_as_record(ndef::MessageBuilder &builder, bool is_last_record) const
4650
}
4751

4852
class Text {
49-
+friend bool append_record(ndef::MessageBuilder&, const Text&)
53+
+bool append_as_record(ndef::MessageBuilder &builder, bool is_last_record) const
5054
}
5155

5256
class Mime {
53-
+friend bool append_record(ndef::MessageBuilder&, const Mime&)
57+
+bool append_as_record(ndef::MessageBuilder &builder, bool is_last_record) const
5458
}
5559

56-
SimpleMessageBuilder --|> MessageBuilder
57-
58-
URI -- SimpleMessageBuilder: wrap >
59-
Text -- SimpleMessageBuilder: wrap >
60-
Mime -- SimpleMessageBuilder: wrap >
60+
URI -- MessageBuilder: uses >
61+
Text -- MessageBuilder: uses >
62+
Mime -- MessageBuilder: uses >
6163

6264
}
6365

Loading

docs/design-documents/nfc/uml_diagram_ndef_message_parser.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ package ndef {
44

55
class MessageParser {
66
+MessageParser()
7-
+void set_delegate(Delegate* delegate)
8-
+void parse(const ac_buffer_t& data_buffer)
7+
+void set_delegate(Delegate *delegate)
8+
+void parse(const Span<const uint8_t> &data_buffer)
99
}
1010

1111
interface MessageParser::Delegate {
1212
+{abstract} void on_parsing_started()
13-
+{abstract} void on_record_parsed(const Record& record)
13+
+{abstract} void on_record_parsed(const Record &record)
1414
+{abstract} void on_parsing_terminated()
1515
+{abstract} void on_parsing_error(error_t error)
1616
# ~Delegate()
Loading

docs/design-documents/nfc/uml_diagram_ndef_simple_parser.txt

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -48,26 +48,26 @@ package common {
4848
class SimpleMessageParser {
4949
+ SimpleMessageParser()
5050
+ ~SimpleMessageParser()
51-
+ void set_delegate(Delegate* delegate)
52-
+ void parse(const ac_buffer_t& data_buffer)
53-
+ void add_record_parser(ndef::RecordParser* parser)
51+
+ void set_delegate(Delegate *delegate)
52+
+ void parse(const Span<const uint8_t> &data_buffer)
53+
+ void add_record_parser(ndef::RecordParser *parser)
5454
- void on_parsing_error(ndef::MessageParser::error_t error)
5555
- void on_parsing_started()
56-
- void on_record_parsed(const ndef::Record& record)
56+
- void on_record_parsed(const ndef::Record &record)
5757
- void on_parsing_terminated()
58-
- void on_record_parsed(const URI& uri, const ndef::RecordID* id)
59-
- void on_record_parsed(const Text& uri, const ndef::RecordID* id)
60-
- void on_record_parsed(const Mime& uri, const ndef::RecordID* id)
58+
- void on_record_parsed(const URI &uri, const ndef::RecordID &id)
59+
- void on_record_parsed(const Text &uri, const ndef::RecordID &id)
60+
- void on_record_parsed(const Mime &uri, const ndef::RecordID &id)
6161
}
6262

6363
interface SimpleMessageParser::Delegate {
64-
+ {abstract} void on_parsing_error(ndef::MessageParser::error_t error)
6564
+ {abstract} void on_parsing_started()
66-
+ {abstract} void on_text_parsed(const Text& text, const ndef::RecordID* id)
67-
+ {abstract} void on_mime_parsed(const Mime& text, const ndef::RecordID* id)
68-
+ {abstract} void on_uri_parsed(const URI& uri, const ndef::RecordID* id)
69-
+ {abstract} void on_unknown_record_parsed(const ndef::Record& record)
65+
+ {abstract} void on_text_parsed(const Text &text, const ndef::RecordID &id)
66+
+ {abstract} void on_mime_parsed(const Mime &text, const ndef::RecordID &id)
67+
+ {abstract} void on_uri_parsed(const URI &uri, const ndef::RecordID &id)
68+
+ {abstract} void on_unknown_record_parsed(const ndef::Record &record)
7069
+ {abstract} void on_parsing_terminated()
70+
+ {abstract} void on_parsing_error(ndef::MessageParser::error_t error)
7171
# ~Delegate()
7272
}
7373

0 commit comments

Comments
 (0)