---
title: llarp::sys::I_SystemLayerManager
summary: interface type for interacting with the os dependant system layer 

---

# llarp::sys::I_SystemLayerManager



interface type for interacting with the os dependant system layer 


`#include <service_manager.hpp>`

Inherited by [llarp::sys::NOP_SystemLayerHandler](Classes/classllarp_1_1sys_1_1NOP__SystemLayerHandler.md), [llarp::sys::SVC_Manager](Classes/classllarp_1_1sys_1_1SVC__Manager.md)

## Public Functions

|                | Name           |
| -------------- | -------------- |
| virtual | **[~I_SystemLayerManager](Classes/classllarp_1_1sys_1_1I__SystemLayerManager.md#function-~i-systemlayermanager)**() =default |
| void | **[disable](Classes/classllarp_1_1sys_1_1I__SystemLayerManager.md#function-disable)**()<br>disable all reporting to system layer  |
| void | **[give_context](Classes/classllarp_1_1sys_1_1I__SystemLayerManager.md#function-give-context)**(llarp::Context * ctx)<br>give our current lokinet context to the system layer manager  |
| virtual void | **[system_changed_our_state](Classes/classllarp_1_1sys_1_1I__SystemLayerManager.md#function-system-changed-our-state)**(ServiceState st) =0<br>system told us to enter this state  |
| virtual void | **[report_changed_state](Classes/classllarp_1_1sys_1_1I__SystemLayerManager.md#function-report-changed-state)**() =0<br>report our current state to the system layer  |
| virtual void | **[report_periodic_stats](Classes/classllarp_1_1sys_1_1I__SystemLayerManager.md#function-report-periodic-stats)**()<br>report our stats on each timer tick  |
| void | **[starting](Classes/classllarp_1_1sys_1_1I__SystemLayerManager.md#function-starting)**() |
| void | **[ready](Classes/classllarp_1_1sys_1_1I__SystemLayerManager.md#function-ready)**() |
| void | **[stopping](Classes/classllarp_1_1sys_1_1I__SystemLayerManager.md#function-stopping)**() |
| void | **[stopped](Classes/classllarp_1_1sys_1_1I__SystemLayerManager.md#function-stopped)**() |
| void | **[failed](Classes/classllarp_1_1sys_1_1I__SystemLayerManager.md#function-failed)**() |

## Protected Functions

|                | Name           |
| -------------- | -------------- |
| virtual void | **[we_changed_our_state](Classes/classllarp_1_1sys_1_1I__SystemLayerManager.md#function-we-changed-our-state)**(ServiceState st) =0<br>change our state and report it to the system layer  |

## Protected Attributes

|                | Name           |
| -------------- | -------------- |
| bool | **[m_disable](Classes/classllarp_1_1sys_1_1I__SystemLayerManager.md#variable-m-disable)**  |
| llarp::Context * | **[m_Context](Classes/classllarp_1_1sys_1_1I__SystemLayerManager.md#variable-m-context)**  |

## Public Functions Documentation

### function ~I_SystemLayerManager

```cpp
virtual ~I_SystemLayerManager() =default
```


### function disable

```cpp
inline void disable()
```

disable all reporting to system layer 

### function give_context

```cpp
inline void give_context(
    llarp::Context * ctx
)
```

give our current lokinet context to the system layer manager 

### function system_changed_our_state

```cpp
virtual void system_changed_our_state(
    ServiceState st
) =0
```

system told us to enter this state 

**Reimplemented by**: [llarp::sys::SVC_Manager::system_changed_our_state](Classes/classllarp_1_1sys_1_1SVC__Manager.md#function-system-changed-our-state), [llarp::sys::NOP_SystemLayerHandler::system_changed_our_state](Classes/classllarp_1_1sys_1_1NOP__SystemLayerHandler.md#function-system-changed-our-state)


### function report_changed_state

```cpp
virtual void report_changed_state() =0
```

report our current state to the system layer 

**Reimplemented by**: [llarp::sys::NOP_SystemLayerHandler::report_changed_state](Classes/classllarp_1_1sys_1_1NOP__SystemLayerHandler.md#function-report-changed-state), [llarp::sys::SVC_Manager::report_changed_state](Classes/classllarp_1_1sys_1_1SVC__Manager.md#function-report-changed-state)


### function report_periodic_stats

```cpp
inline virtual void report_periodic_stats()
```

report our stats on each timer tick 

### function starting

```cpp
inline void starting()
```


### function ready

```cpp
inline void ready()
```


### function stopping

```cpp
inline void stopping()
```


### function stopped

```cpp
inline void stopped()
```


### function failed

```cpp
inline void failed()
```


## Protected Functions Documentation

### function we_changed_our_state

```cpp
virtual void we_changed_our_state(
    ServiceState st
) =0
```

change our state and report it to the system layer 

**Reimplemented by**: [llarp::sys::SVC_Manager::we_changed_our_state](Classes/classllarp_1_1sys_1_1SVC__Manager.md#function-we-changed-our-state), [llarp::sys::NOP_SystemLayerHandler::we_changed_our_state](Classes/classllarp_1_1sys_1_1NOP__SystemLayerHandler.md#function-we-changed-our-state)


## Protected Attributes Documentation

### variable m_disable

```cpp
bool m_disable {false};
```


### variable m_Context

```cpp
llarp::Context * m_Context {nullptr};
```


-------------------------------

Updated on 2023-01-24 at 18:23:43 +0000