> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/holoscan/sdk-user-guide/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/holoscan/sdk-user-guide/_mcp/server.

# holoscan::gxf::GXFSchedulingTermWrapper

> Class to wrap a native Condition into a GXF SchedulingTerm.

Class to wrap a native [Condition](../../../classes/condition) into a GXF SchedulingTerm.

```cpp showLineNumbers={false}
#include <holoscan/gxf/gxf_scheduling_term_wrapper.hpp>
```

**Inherits from:** `nvidia::gxf::SchedulingTerm` (public)

---

## Constructors

### Destructor \[#destructor]

### \~GXFSchedulingTermWrapper

```cpp showLineNumbers={false}
virtual holoscan::gxf::GXFSchedulingTermWrapper::~GXFSchedulingTermWrapper() = default
```

---

## Methods

### initialize \[#initialize]

```cpp showLineNumbers={false}
gxf_result_t holoscan::gxf::GXFSchedulingTermWrapper::initialize() override
```

### deinitialize \[#deinitialize]

```cpp showLineNumbers={false}
gxf_result_t holoscan::gxf::GXFSchedulingTermWrapper::deinitialize() override
```

### registerInterface \[#registerinterface]

```cpp showLineNumbers={false}
gxf_result_t holoscan::gxf::GXFSchedulingTermWrapper::registerInterface(
    nvidia::gxf::Registrar *registrar
) override
```

### check\_abi \[#checkabi]

```cpp showLineNumbers={false}
gxf_result_t holoscan::gxf::GXFSchedulingTermWrapper::check_abi(
    int64_t timestamp,
    nvidia::gxf::SchedulingConditionType *status_type,
    int64_t *target_timestamp
) const override
```

Get the condition on which the scheduling waits before allowing execution.

If the term is waiting for a time event 'target\_timestamp' will contain the target timestamp.

**Parameters**

**`timestamp`** `int64_t`

The current timestamp

---

**`status_type`** `nvidia::gxf::SchedulingConditionType *`

The status of the scheduling condition

---

**`target_timestamp`** `int64_t *`

The target timestamp (used if the term is waiting for a time event).

---

### onExecute\_abi \[#onexecuteabi]

```cpp showLineNumbers={false}
gxf_result_t holoscan::gxf::GXFSchedulingTermWrapper::onExecute_abi(
    int64_t timestamp
) override
```

Called each time after the entity of this term was executed.

**Parameters**

**`timestamp`** `int64_t`

The current timestamp

---

### update\_state\_abi \[#updatestateabi]

```cpp showLineNumbers={false}
gxf_result_t holoscan::gxf::GXFSchedulingTermWrapper::update_state_abi(
    int64_t timestamp
) override
```

Checks if the state of the scheduling term can be updated and updates it.

**Parameters**

**`timestamp`** `int64_t`

The current timestamp

---

### set\_condition \[#setcondition]

```cpp showLineNumbers={false}
void holoscan::gxf::GXFSchedulingTermWrapper::set_condition(
    std::shared_ptr<Condition> condition
)
```

Set the [Condition](../../../classes/condition) object to be wrapped.

**Parameters**

**`condition`** `std::shared_ptr<Condition>`

The pointer to the native [Condition](../../../classes/condition) object.

---

### store\_exception \[#storeexception]

```cpp showLineNumbers={false}
void holoscan::gxf::GXFSchedulingTermWrapper::store_exception() const
```

---

## Member variables

| Name         | Type                           | Description |
| ------------ | ------------------------------ | ----------- |
| `condition_` | `std::shared_ptr< Condition >` |             |