---
name: "Tangence::Registry"
section: "3pm"
platform: "linux"
package: "libtangence-perl"
version: "0.33-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Tangence::Registry"
---

# Tangence::Registry(3pm)

object manager for a "Tangence" server

## NAME

"Tangence::Registry" - object manager for a "Tangence" server

## DESCRIPTION

This subclass of Tangence::Object acts as a container for all the exposed objects in a Tangence server. The registry is used to create exposed objects, and manages their lifetime. It maintains a reference to all the objects it creates, so it can dispatch incoming messages from clients to them.

## CONSTRUCTOR

### new

```
   $registry = Tangence::Registry->new;
```

Returns a new instance of a `"Tangence::Registry"` object. An entire server requires one registry object; it will be shared among all the client connections to that server.

## METHODS

### get\_by\_id

```
   $obj = $registry->get_by_id( $id );
```

Returns the object with the given object ID.

This method is exposed to clients.

### construct

```
   $obj = $registry->construct( $type, @args );
```

Constructs a new exposed object of the given type, and returns it. Any additional arguments are passed to the object's constructor.

### load\_tanfile

```
   $registry->load_tanfile( $tanfile );
```

Loads additional Tangence class and struct definitions from the given *.tan* file.

## AUTHOR

Paul Evans \<leonerd@leonerd.org.uk\>
