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 |