AWS IoT Device SDK C++ v2: Aws::Crt::ApiHandle Class Reference

AWS IoT Device SDK C++ v2 1.14.0 AWS IoT Device SDK C++ v2

Public Member Functions | List of all members
Aws::Crt::ApiHandle Class Reference

`#include <Api.h>`

## Public Member Functions
| ApiHandle (Allocator *allocator) noexcept
| ApiHandle () noexcept
| ~ApiHandle ()
| ApiHandle (const ApiHandle &)=delete
| ApiHandle (ApiHandle &&)=delete
ApiHandle & | operator= (const ApiHandle &)=delete
ApiHandle & | operator= (ApiHandle &&)=delete
void | InitializeLogging (LogLevel level, const char *filename)
void | InitializeLogging (LogLevel level, FILE *fp)
void | SetShutdownBehavior (ApiHandleShutdownBehavior behavior)
void | SetBYOCryptoNewMD5Callback (Crypto::CreateHashCallback &&callback)
void | SetBYOCryptoNewSHA256Callback (Crypto::CreateHashCallback &&callback)
void | SetBYOCryptoNewSHA256HMACCallback (Crypto::CreateHMACCallback &&callback)
void | SetBYOCryptoClientTlsCallback (Io::NewClientTlsHandlerCallback &&callback)
void | SetBYOCryptoTlsContextCallbacks (Io::NewTlsContextImplCallback &&newCallback, Io::DeleteTlsContextImplCallback &&deleteCallback, Io::IsTlsAlpnSupportedCallback &&alpnCallback)

## Detailed Description

A singleton object representing the init/cleanup state of the entire CRT. It's invalid to have more than one active simultaneously and it's also invalid to use CRT functionality without one active.

## Constructor & Destructor Documentation

## ◆ ApiHandle() [1/4]

Aws::Crt::ApiHandle::ApiHandle | ( | Allocator * | allocator | ) |
| noexcept

## ◆ ApiHandle() [2/4]

Aws::Crt::ApiHandle::ApiHandle | ( |  | ) |
| noexcept

## ◆ ~ApiHandle()

Aws::Crt::ApiHandle::~ApiHandle | ( |  | ) |

## ◆ ApiHandle() [3/4]

Aws::Crt::ApiHandle::ApiHandle | ( | const ApiHandle & |  | ) |
| delete

## ◆ ApiHandle() [4/4]

Aws::Crt::ApiHandle::ApiHandle | ( | ApiHandle && |  | ) |
| delete

## Member Function Documentation

## ◆ InitializeLogging() [1/2]

void Aws::Crt::ApiHandle::InitializeLogging | ( | LogLevel | level,
|  | const char * | filename
| ) |  |

Initialize logging in awscrt.

Parameters

  level | Display messages of this importance and higher. LogLevel.NoLogs will disable logging.
  filename | Logging destination, a file path from the disk.

## ◆ InitializeLogging() [2/2]

void Aws::Crt::ApiHandle::InitializeLogging | ( | LogLevel | level,
|  | FILE * | fp
| ) |  |

Initialize logging in awscrt.

Parameters

  level | Display messages of this importance and higher. LogLevel.NoLogs will disable logging.
  fp | The FILE object for logging destination.

## ◆ operator=() [1/2]

ApiHandle & Aws::Crt::ApiHandle::operator= | ( | ApiHandle && |  | ) |
| delete

## ◆ operator=() [2/2]

ApiHandle & Aws::Crt::ApiHandle::operator= | ( | const ApiHandle & |  | ) |
| delete

## ◆ SetBYOCryptoClientTlsCallback()

void Aws::Crt::ApiHandle::SetBYOCryptoClientTlsCallback | ( | Io::NewClientTlsHandlerCallback && | callback | ) |

BYO_CRYPTO: set callback for creating a ClientTlsChannelHandler. If using BYO_CRYPTO, you must call this prior to creating any client channels in the application.

## ◆ SetBYOCryptoNewMD5Callback()

void Aws::Crt::ApiHandle::SetBYOCryptoNewMD5Callback | ( | Crypto::CreateHashCallback && | callback | ) |

BYO_CRYPTO: set callback for creating MD5 hashes. If using BYO_CRYPTO, you must call this.

## ◆ SetBYOCryptoNewSHA256Callback()

void Aws::Crt::ApiHandle::SetBYOCryptoNewSHA256Callback | ( | Crypto::CreateHashCallback && | callback | ) |

BYO_CRYPTO: set callback for creating SHA256 hashes. If using BYO_CRYPTO, you must call this.

## ◆ SetBYOCryptoNewSHA256HMACCallback()

void Aws::Crt::ApiHandle::SetBYOCryptoNewSHA256HMACCallback | ( | Crypto::CreateHMACCallback && | callback | ) |

BYO_CRYPTO: set callback for creating Streaming SHA256 HMAC objects. If using BYO_CRYPTO, you must call this.

## ◆ SetBYOCryptoTlsContextCallbacks()

void Aws::Crt::ApiHandle::SetBYOCryptoTlsContextCallbacks | ( | Io::NewTlsContextImplCallback && | newCallback,
|  | Io::DeleteTlsContextImplCallback && | deleteCallback,
|  | Io::IsTlsAlpnSupportedCallback && | alpnCallback
| ) |  |

BYO_CRYPTO: set callbacks for the TlsContext. If using BYO_CRYPTO, you need to call this function prior to creating a TlsContext.

Parameters

  newCallback | Create custom implementation object, to be stored inside TlsContext. Return nullptr if failure occurs.
  deleteCallback | Destroy object that was created by newCallback.
  alpnCallback | Return whether ALPN is supported.

## ◆ SetShutdownBehavior()

void Aws::Crt::ApiHandle::SetShutdownBehavior | ( | ApiHandleShutdownBehavior | behavior | ) |

Configures the shutdown behavior of the api handle instance

Parameters

  shutdownBehavior | desired shutdown behavior

The documentation for this class was generated from the following files:

- crt/aws-crt-cpp/include/aws/crt/Api.h
- crt/aws-crt-cpp/source/Api.cpp