Odil
A C++11 library for the DICOM standard
Loading...
Searching...
No Matches
SCPDispatcher.h
Go to the documentation of this file.
1/*************************************************************************
2 * odil - Copyright (C) Universite de Strasbourg
3 * Distributed under the terms of the CeCILL-B license, as published by
4 * the CEA-CNRS-INRIA. Refer to the LICENSE file or to
5 * http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
6 * for details.
7 ************************************************************************/
8
9#ifndef _f0b69ac6_7d52_401d_a2f3_d5d3f7d69376
10#define _f0b69ac6_7d52_401d_a2f3_d5d3f7d69376
11
12#include <map>
13#include <memory>
14
15#include "odil/Association.h"
16#include "odil/odil.h"
17#include "odil/SCP.h"
18#include "odil/Value.h"
19
20namespace odil
21{
22
25{
26public:
28 SCPDispatcher(Association & association);
29
31 bool has_scp(Value::Integer command) const;
32
34 std::shared_ptr<SCP> const & get_scp(Value::Integer command) const;
35
37 void set_scp(Value::Integer command, std::shared_ptr<SCP> const & scp);
38
40 void dispatch();
41
42private:
43 typedef std::shared_ptr<SCP> SCPPointer;
44
45 Association & _association;
46 std::map<Value::Integer, std::shared_ptr<SCP> > _providers;
47
48};
49
50}
51
52#endif // _f0b69ac6_7d52_401d_a2f3_d5d3f7d69376
Association.
Definition Association.h:31
Dispatch an incoming message to one of the registered SCPs.
Definition SCPDispatcher.h:25
std::shared_ptr< SCP > const & get_scp(Value::Integer command) const
Return the SCP registered with command.
bool has_scp(Value::Integer command) const
Test whether command has an SCP registered.
SCPDispatcher(Association &association)
Create a dispatcher with network and association.
void set_scp(Value::Integer command, std::shared_ptr< SCP > const &scp)
Registered an SCP with command.
void dispatch()
Receive and dispatch an incoming message.
int64_t Integer
Integer type.
Definition Value.h:42
Definition Association.h:25
#define ODIL_API
Definition odil.h:28