Statistics
| Branch: | Revision:

urtware / doc / activitydiagrams / core / urtCoreGetTopic.uml @ 621aa0b6

History | View | Annotate | Download (1.792 KB)

1
/'
2
µRtWare is a lightweight publish/subscribe middleware for real-time
3
applications. It was developed as part of the software habitat for the
4
Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
5

    
6
Copyright (C) 2018..2020  Thomas Schöpping et al.
7

    
8
This program is free software: you can redistribute it and/or modify
9
it under the terms of the GNU General Public License as published by
10
the Free Software Foundation, either version 3 of the License, or
11
(at your option) any later version.
12

    
13
This program is distributed in the hope that it will be useful,
14
but WITHOUT ANY WARRANTY; without even the implied warranty of
15
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
GNU General Public License for more details.
17

    
18
You should have received a copy of the GNU General Public License
19
along with this program.  If not, see <http://www.gnu.org/licenses/>.
20
'/
21

    
22
/'### INTRO ##################################################################'/
23

    
24
@startuml
25

    
26
title **µRtWare**\nurtCoreGetTopic()\n
27

    
28
/'### PARAMETERS & RETURN ####################################################'/
29

    
30
note
31
  -- **id** : urt_topicid_t --
32
  Identifier of the topic to retrieve.
33
  ====
34
  -- **return** : urt_topic_t* --
35
  Returns a pointer to the requested topic.
36
  Returns ""NULL"" if no topic matches the given ID.
37
endnote
38

    
39
/'### PROCEDURE ##############################################################'/
40

    
41
start
42
:lock core;
43
:access first topic;
44
while (Topic ist not ""NULL""\nand topic ID is lower?) is (yes)
45
  :proceed to next topic;
46
endwhile (no)
47
:unlock core;
48
if (Topic is not ""NULL""\nand topic ID matches?) then (yes)
49
  stop
50
  note
51
    Returns pointer to topic.
52
  endnote
53
else (no)
54
  stop
55
  note
56
    Returns ""NULL"".
57
  endnote
58
endif
59

    
60
/'### OUTRO ##################################################################'/
61

    
62
@enduml