    

 ## On this page

  

 

 # File i\_subscriber.h

 Last update: 22.04.2026 

![](https://img.shields.io/badge/language-C%2B%2B-blue "C++")

**Location**: `core/communication/i_subscriber.h`

## Classes

- [simulation\_framework::core::ISubscriber](classsimulation__framework_1_1core_1_1ISubscriber.md#classsimulation__framework_1_1core_1_1ISubscriber)

## Namespaces

- [simulation\_framework](namespacesimulation__framework.md#namespacesimulation__framework)
- [simulation\_framework::core](namespacesimulation__framework_1_1core.md#namespacesimulation__framework_1_1core)

## Includes

- core/export/simfwk\_core\_export.h
- 
- 
- 
- 

## Included by

- [i\_topic.h](i__topic_8h.md#i__topic_8h)

## Source

```cpp


#ifndef SIMFWK_CORE_COMMUNICATION_ISUBSCRIBER_H
#define SIMFWK_CORE_COMMUNICATION_ISUBSCRIBER_H

#include "core/export/simfwk_core_export.h"
#include <chrono>
#include <memory>
#include <string>
#include <vector>

namespace simulation_framework
{
namespace core
{

class SIMFWK_CORE_API ISubscriber
{
  public:
    virtual ~ISubscriber() = default;
    virtual void Execute() = 0;
    virtual void Init() = 0;
    virtual bool WaitForPublisher(std::chrono::milliseconds timeout = std::chrono::milliseconds(60000)) = 0;
};

using Subscribers = std::vector<std::unique_ptr<ISubscriber>>;

}  // namespace core
}  // namespace simulation_framework

#endif  // SIMFWK_CORE_COMMUNICATION_ISUBSCRIBER_H

```