File: README.md

package info (click to toggle)
sight 25.2.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 42,180 kB
  • sloc: cpp: 289,476; xml: 17,257; ansic: 9,878; python: 1,379; sh: 144; makefile: 33
file content (56 lines) | stat: -rw-r--r-- 2,289 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# sight::service

This is one of the most important libraries in _Sight_. It defines extension points for _services_:
- **factory**: allows to define new services.
- **config**: creates service configurations that can be shared between different services.

## Classes

### Service interfaces

The library proposes different base classes to implement services. They bring a semantic on top of `IService`, which allows to query services that match an interface.

- **filter**: generic interface meant to define filter services
- **generator**: generic interface meant to define generator services
- **grabber**: generic interface meant to manage video grabber services
- **has_services**: generic interface for objects that need to manage services
- **operator**: generic interface meant to define operator services
- **registerer**: generic interface meant to define register services
- **rgbd_grabber**: generic interface meant to define RGBD images grabber services
- **synchronizer**: generic interface meant to define services which synchronize objects from timelines
- **tracker**: generic interface meant to define tracker services
- **macros**: defines macro which declare service to object associations

### _extension_

- **config**: registers all the configurations from an xml file element with the point extension '<config>'
- **factory**: registry of all the services. It allows to retrieve the information necessary to instantiate the services

### _factory_

- **new**: factory service creator

### _op_

- **add**: creates and attaches services to object
- **get**: provides access to services

### _registry_

- **active_workers**: registers active worker and creates a default worker if necessary.
Deprecated, please use `sight::core::thread` instead.
- **object_service**:  maintains the relation between objects and services
 The API of ObjectService should not be directly invoked, please make use of service/op methods (i.e. add, get,...) instead
- **proxy**: defines a proxy for signal/slot connections between services

## How to use it

### CMake

```cmake
target_link_libraries( my_target <PUBLIC|PRIVATE> service)
```

### XML

Please consult the [doxygen](https://sight.pages.ircad.fr/sight) of `sight::service `to learn more about its use in xml configurations.