### Class

# Foundry LlmTool

#### Description

    abstract class Foundry.LlmTool : Foundry.Contextual
      implements Json.Serializable {
      /* No available fields */
    }

No description available.

#### Ancestors

- FoundryContextual
- GObject

#### Implements

- JsonSerializable

#### Instance methods

###### foundry_llm_tool_call

Calls the tool.

###### foundry_llm_tool_dup_description

Gets the “description” of a tool which may be provided to the model.

###### foundry_llm_tool_dup_name

Gets the “name” of tool which may be provided to the model.

###### foundry_llm_tool_list_parameters

Gets a list of parmaeters for the tool which must be supplied when calling `foundry_llm_tool_call()`.

##### Methods inherited from FoundryContextual (4)

###### foundry_contextual_acquire

This method provides a checked way to get a `context` for the contextual.

since: 1.1

###### foundry_contextual_dup_context

Gets the `FoundryContext` that `self` is a part of while safely increasing the reference count of the resulting `FoundryContext` by 1.

###### foundry_contextual_inhibit

Creates a new `FoundryInhibitor` that will keep the `FoundryContext` alive and prevent shutdown until `foundry_inhibitor_uninhibit()` is called or the `FoundryInhibitor` is finalized, whichever comes first.

###### foundry_contextual_log

No description available.

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

##### Methods inherited from JsonSerializable (8)

###### json_serializable_default_deserialize_property

Calls the default implementation of the `Json.SerializableIface.deserialize_property` virtual function.

###### json_serializable_default_serialize_property

Calls the default implementation of the `Json.SerializableIface.serialize_property` virtual function.

###### json_serializable_deserialize_property

Asks a `JsonSerializable` implementation to deserialize the property contained inside `property_node` and place its value into `value`.

###### json_serializable_find_property

Calls the `Json.SerializableIface.find_property` implementation on the `JsonSerializable` instance, which will return the property description for the given name.

###### json_serializable_get_property

Calls the `Json.SerializableIface.get_property` implementation on the `JsonSerializable` instance, which will get the value of the given property.

###### json_serializable_list_properties

Calls the `Json.SerializableIface.list_properties` implementation on the `JsonSerializable` instance, which will return the list of serializable properties.

###### json_serializable_serialize_property

Asks a `JsonSerializable` implementation to serialize an object property into a JSON node.

###### json_serializable_set_property

Calls the `Json.SerializableIface.set_property` implementation on the `JsonSerializable` instance, which will set the property with the given value.

#### Properties

###### Foundry.LlmTool:description

No description available.

###### Foundry.LlmTool:name

No description available.

##### Properties inherited from FoundryContextual (1)

###### Foundry.Contextual:context

No description available.

#### Signals

##### Signals inherited from GObject (1)

###### GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

#### Class structure

    struct FoundryLlmToolClass {
      FoundryContextualClass parent_class;
      char* (* dup_name) (
        FoundryLlmTool* self
      );
      char* (* dup_description) (
        FoundryLlmTool* self
      );
      GParamSpec** (* list_parameters) (
        FoundryLlmTool* self,
        guint* n_parameters
      );
      DexFuture* (* call) (
        FoundryLlmTool* self,
        const GValue* arguments,
        guint n_arguments
      );

    }

No description available.

###### Class members

`parent_class: FoundryContextualClass`

  No description available.

`dup_name: char* (* dup_name) ( FoundryLlmTool* self )`

  No description available.

`dup_description: char* (* dup_description) ( FoundryLlmTool* self )`

  No description available.

`list_parameters: GParamSpec** (* list_parameters) ( FoundryLlmTool* self, guint* n_parameters )`

  No description available.

`call: DexFuture* (* call) ( FoundryLlmTool* self, const GValue* arguments, guint n_arguments )`

  No description available.

#### Virtual methods

###### Foundry.LlmToolClass.call

Calls the tool.

###### Foundry.LlmToolClass.dup_description

Gets the “description” of a tool which may be provided to the model.

###### Foundry.LlmToolClass.dup_name

Gets the “name” of tool which may be provided to the model.

###### Foundry.LlmToolClass.list_parameters

No description available.

#### Class methods

###### foundry_llm_tool_class_add_parameter

No description available.