> For the complete documentation index, see [llms.txt](https://docs.medcrypt.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.medcrypt.com/guardian/api-overview/api-reference/classes.md).

# Classes

The [medcrypt namespace ](/guardian/api-overview/api-reference/namespaces/namespacemedcrypt.md)contains the [guardian namespace](/guardian/api-overview/api-reference/namespaces/namespacemedcrypt-guardian.md), which includes the following classes, structures, and enumerations:

## **Core classes**

* [Guardian](/guardian/api-overview/api-reference/classes/classmedcrypt-guardian-guardian.md) class:
  * **Description:** Root of Guardian system.
  * **Location:** medcrypt::guardian::Guardian
* [AuthenticationManager](/guardian/api-overview/api-reference/classes/classmedcrypt-guardian-authenticationmanager.md) class:
  * **Description:** Container for authentication restrictions.
  * **Location:** medcrypt::guardian::AuthenticationManager
* [ChannelGuard](/guardian/api-overview/api-reference/classes/classmedcrypt-guardian-channelguard.md) class:
  * **Description:** Name channel within a [Session](/guardian/api-overview/api-reference/classes/classmedcrypt-guardian-session.md).
  * **Location:** medcrypt::guardian::ChannelGuard
* [SecureOperation](/guardian/api-overview/api-reference/classes/classmedcrypt-guardian-secureoperation.md) class:
  * **Description:** Named standalone operation.
  * **Location:** medcrypt::guardian::SecureOperation
* [Service](/guardian/api-overview/api-reference/classes/classmedcrypt-guardian-service.md) class:
  * **Description:** Named group of connection and channel configurations.
  * **Location:** medcrypt::guardian::Service
* [Session](/guardian/api-overview/api-reference/classes/classmedcrypt-guardian-session.md) class:
  * **Description:** Individual connection within a [Service](/guardian/api-overview/api-reference/classes/classmedcrypt-guardian-service.md).
  * **Location:** medcrypt::guardian::Session
* [Task](/guardian/api-overview/api-reference/classes/classmedcrypt-guardian-task.md) class:
  * **Description:** Multithreading container.
  * **Location:** medcrypt::guardian::Task
* [TransportInterface](/guardian/api-overview/api-reference/classes/classmedcrypt-guardian-transportinterface.md) class:
  * **Description:** [ConfigureTransport()](/guardian/api-overview/api-reference/classes/classmedcrypt-guardian-service.md#function-configuretransport) required interface.
  * **Location:** medcrypt::guardian::TransportInterface

## **Data structures**

* [AuthenticationDomain](/guardian/api-overview/api-reference/classes/structmedcrypt-guardian-authenticationdomain.md) struct:
  * **Description:** Authentication restriction container. Restrictions for use by an authentication agent.
  * **Location:** medcrypt::guardian::AuthenticationDomain
* [InitializeOptions](/guardian/api-overview/api-reference/classes/structmedcrypt-guardian-initializeoptions.md) struct:
  * **Description:** Options used by [Initialize()](/guardian/api-overview/api-reference/classes/classmedcrypt-guardian-guardian.md#function-initialize) during setup.
  * **Location:** medcrypt::guardian::InitializeOptions
* [ProvisioningOptions](/guardian/api-overview/api-reference/classes/structmedcrypt-guardian-provisioningoptions.md) struct:
  * **Description:** Options used by [StartProvisioningOnline()](/guardian/api-overview/api-reference/classes/classmedcrypt-guardian-guardian.md#function-startprovisioningonline).
  * **Location:** medcrypt::guardian::ProvisioningOptions

### Utility namespace & structures

The [guardian namespace](/guardian/api-overview/api-reference/namespaces/namespacemedcrypt-guardian.md) also includes the [utilities](/guardian/api-overview/api-reference/namespaces/namespacemedcrypt-guardian-utilities.md) namespace, which includes the following structures:

* [InitializeFiles](/guardian/api-overview/api-reference/classes/structmedcrypt-guardian-utilities-initializefiles.md) struct:
  * **Description:** Storage for initialization files used by [Initialize()](/guardian/api-overview/api-reference/classes/classmedcrypt-guardian-guardian.md#function-initialize).
  * **Location:** medcrypt::guardian::utilities::InitializeFiles
* [ProvisionFiles](/guardian/api-overview/api-reference/classes/structmedcrypt-guardian-utilities-provisionfiles.md) struct:
  * **Description:** Storage for generating provision request files in [GenerateProvisionRequest()](/guardian/api-overview/api-reference/classes/classmedcrypt-guardian-guardian.md#function-generateprovisionrequest).
  * **Location:** medcrypt::guardian::utilities::ProvisionFiles
* [ProvisionOnlineFiles](/guardian/api-overview/api-reference/classes/structmedcrypt-guardian-utilities-provisiononlinefiles.md) struct:
  * **Description:** Storage for online provisioning files in [StartProvisioningOnline()](/guardian/api-overview/api-reference/classes/classmedcrypt-guardian-guardian.md#function-startprovisioningonline).
  * **Location:** medcrypt::guardian::utilities::ProvisionOnlineFiles

## **Other namespaces**

* [AuthenticationAllowDenyEnum](/guardian/api-overview/api-reference/namespaces/namespacemedcrypt-guardian-authenticationallowdenyenum.md) namespace:
  * **Description:** Determines whether a specified list is in an allow or deny list.
  * **Location:** medcrypt::guardian::AuthenticationAllowDenyEnum
* [GuardianStatusEnum](/guardian/api-overview/api-reference/namespaces/namespacemedcrypt-guardian-guardianstatusenum.md) namespace:
  * **Description:** Status codes returned by Guardian functions.
  * **Location:** medcrypt::guardian::GuardianStatusEnum
* [LogLevelEnum](/guardian/api-overview/api-reference/namespaces/namespacemedcrypt-guardian-loglevelenum.md) namespace:
  * **Description:** Log levels returned by Guardian functions.
  * **Location:** medcrypt::guardian::LogLevelEnum
