    

 ## On this page

  

 

 # dvs\_server\_interface.h File Reference

 Last update: 16.07.2025 

`#include <map>`  
`#include <string>`  
`#include "<a class="el" href="dvs__query__interface_8h_source.xhtml">include/dvs_query_interface.h</a>"`  
`#include "transport_interface.h"`  
`#include "include/dvs_import_export.h"`  


[Go to the source code of this file.](dvs__server__interface_8h_source.xhtml)

## <a id="nested-classes" name="nested-classes"></a>Classes

class [DVS::IServer](class_d_v_s_1_1_i_server.xhtml) ## <a id="func-members" name="func-members"></a>Functions

DVS\_DLL\_EXPORT [IServer](class_d_v_s_1_1_i_server.xhtml) \* [DVS::CREATE\_SERVER\_INSTANCE](#a852580b9a49ac305e4ae26ca637bcc75) (const char \*uri) DVS\_DLL\_EXPORT void [DVS::DESTROY\_SERVER\_INSTANCE](#adcdcbab1954ec53631a7136af7fc49b8) ([DVS::IServer](class_d_v_s_1_1_i_server.xhtml) \*destroy) <a id="details" name="details"></a>## Detailed Description

```

<p>1.) Instantiate <a class="el" href="class_d_v_s_1_1_i_server.xhtml" title="Interface class used to run a dynamic data server in a thread accepting incoming client connections.">DVS::IServer</a> using <a class="el" href="#a852580b9a49ac305e4ae26ca637bcc75" title="Create a DVS::IServer instance for clients to connect to.">DVS::CREATE_SERVER_INSTANCE()</a> method
2.) Set options using <a class="el" href="class_d_v_s_1_1_i_server.xhtml#a964b0420773ec5f47dbcea04334ba0d3" title="Set a collection of options on the server. Overwrites previous options See. See Server Options.">DVS::IServer::set_options()</a> or <a class="el" href="class_d_v_s_1_1_i_server.xhtml#a1edb4dec67086f10bc0329b6adf9084c" title="Set a specific option on the server, these are used during startup See See Server Options.">DVS::IServer::set_option()</a>
3.) Startup server using <a class="el" href="class_d_v_s_1_1_i_server.xhtml#a6699cf48b29583ab3391b9b8397e611c" title="Start the server.">DVS::IServer::startup()</a>
4.) If needed see if it's running via <a class="el" href="class_d_v_s_1_1_i_server.xhtml#a5fdee3f663dbe7b7dab11621f76737e2" title="Check to see if the server is running.">DVS::IServer::running()</a>
5.) Shutdown server using <a class="el" href="class_d_v_s_1_1_i_server.xhtml#a7ce6bb49a2d383b0821267415a93802d" title="Shutdown the server, also called on server destruction by DVS::DESTROY_SERVER_INSTANCE()">DVS::IServer::shutdown()</a>
6.) Destroy instance using <a class="el" href="#adcdcbab1954ec53631a7136af7fc49b8" title="Destroy the server instance (also shutting it down if needed)">DVS::DESTROY_SERVER_INSTANCE()</a></p>
```

Definition in file [dvs\_server\_interface.h](dvs__server__interface_8h_source.xhtml).



## Function Documentation

<a id="a852580b9a49ac305e4ae26ca637bcc75" name="a852580b9a49ac305e4ae26ca637bcc75"></a>## [◆ ](#a852580b9a49ac305e4ae26ca637bcc75)CREATE\_SERVER\_INSTANCE()

 DVS\_DLL\_EXPORT IServer \* DVS::CREATE\_SERVER\_INSTANCE  ( const char \* *uri*) 

Create a [DVS::IServer](class_d_v_s_1_1_i_server.xhtml "Interface class used to run a dynamic data server in a thread accepting incoming client connections.") instance for clients to connect to.

There are currently 2 types of server communication, grpc over a network or "null" which uses direct method calls.

Parameters uriURI of server to create of the format protocol://hostname:port, i.e. grpc://localhost:50055 or null:// see [Server URIs](group__group__dvs__uri.xhtml#dvs_server_uri) for more info. ReturnsIServer\* instance to be later destroyed by calling [DVS::DESTROY\_SERVER\_INSTANCE()](#adcdcbab1954ec53631a7136af7fc49b8 "Destroy the server instance (also shutting it down if needed)") 



<a id="adcdcbab1954ec53631a7136af7fc49b8" name="adcdcbab1954ec53631a7136af7fc49b8"></a>## [◆ ](#adcdcbab1954ec53631a7136af7fc49b8)DESTROY\_SERVER\_INSTANCE()

 DVS\_DLL\_EXPORT void DVS::DESTROY\_SERVER\_INSTANCE  ( [DVS::IServer](class_d_v_s_1_1_i_server.xhtml) \* *destroy*) 

Destroy the server instance (also shutting it down if needed)

Parameters destroy[DVS::IServer](class_d_v_s_1_1_i_server.xhtml "Interface class used to run a dynamic data server in a thread accepting incoming client connections.") instance to destroy