Stay organized with collections
Save and categorize content based on your preferences.
ArResolveCloudAnchorFuture
An asynchronous operation for resolving a Cloud Anchor launched by ArSession_resolveCloudAnchorAsync
.
See the Cloud Anchors developer guide for more information.
Summary
Typedefs
ArResolveCloudAnchorCallback
void(* ArResolveCloudAnchorCallback)(void *context, ArAnchor *anchor, ArCloudAnchorState cloud_anchor_state)
ArResolveCloudAnchorFuture
struct ArResolveCloudAnchorFuture_ ArResolveCloudAnchorFuture
Functions
ArResolveCloudAnchorFuture_acquireResultAnchor
void ArResolveCloudAnchorFuture_acquireResultAnchor(
const ArSession *session,
const ArResolveCloudAnchorFuture *future,
ArAnchor **out_anchor
)
Gets the resolved Cloud Anchor.
If the operation isn't done yet or the operation failed, this will be NULL
. The caller must release the anchor using ArAnchor_release
.
Details |
Parameters |
session
|
The ARCore session.
|
future
|
The handle for the asynchronous operation.
|
out_anchor
|
The anchor.
|
|
ArResolveCloudAnchorFuture_getResultCloudAnchorState
void ArResolveCloudAnchorFuture_getResultCloudAnchorState(
const ArSession *session,
const ArResolveCloudAnchorFuture *future,
ArCloudAnchorState *out_cloud_anchor_state
)
Gets the result status of the resolving operation, if the operation is done.
Details |
Parameters |
session
|
The ARCore session.
|
future
|
The handle for the asynchronous operation.
|
out_cloud_anchor_state
|
The result status.
|
|
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-07-14 UTC.
[null,null,["Last updated 2025-07-14 UTC."],[[["\u003cp\u003e\u003ccode\u003eArResolveCloudAnchorFuture\u003c/code\u003e handles asynchronous operations for resolving a Cloud Anchor, launched by \u003ccode\u003eArSession_resolveCloudAnchorAsync\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can get the resolved Cloud Anchor using \u003ccode\u003eArResolveCloudAnchorFuture_acquireResultAnchor\u003c/code\u003e and release it with \u003ccode\u003eArAnchor_release\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eArResolveCloudAnchorFuture_getResultCloudAnchorState\u003c/code\u003e provides the status of the resolving operation.\u003c/p\u003e\n"],["\u003cp\u003eRefer to the Cloud Anchors developer guide and \u003ccode\u003eArSession_resolveCloudAnchorAsync\u003c/code\u003e documentation for further information and context.\u003c/p\u003e\n"]]],["`ArResolveCloudAnchorFuture` manages asynchronous Cloud Anchor resolution initiated by `ArSession_resolveCloudAnchorAsync`. Key actions include defining a callback function, `ArResolveCloudAnchorCallback`, which provides context, an anchor, and the Cloud Anchor state. The `ArResolveCloudAnchorFuture` is a handle for this operation. `ArResolveCloudAnchorFuture_acquireResultAnchor` retrieves the resolved Cloud Anchor. `ArResolveCloudAnchorFuture_getResultCloudAnchorState` fetches the resolution status. The provided `context` memory should be freed after the callback is finished, and anchors should be released.\n"],null,["# ArResolveCloudAnchorFuture\n==========================\n\nAn asynchronous operation for resolving a Cloud Anchor launched by [ArSession_resolveCloudAnchorAsync](/ar/reference/c/group/ar-session#arsession_resolvecloudanchorasync).\n\nSee the [Cloud Anchors developer guide](https://developers.google.com/ar/develop/c/cloud-anchors/developer-guide) for more information.\n\nSummary\n-------\n\n| ### Typedefs ||\n|------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [ArResolveCloudAnchorCallback](#arresolvecloudanchorcallback)`)(void *context, ArAnchor *anchor, ArCloudAnchorState cloud_anchor_state)` | typedef `void(*` Callback definition for [ArSession_resolveCloudAnchorAsync](/ar/reference/c/group/ar-session#arsession_resolvecloudanchorasync). |\n| [ArResolveCloudAnchorFuture](#arresolvecloudanchorfuture) | typedef `struct ArResolveCloudAnchorFuture_` Handle to an asynchronous operation launched by [ArSession_resolveCloudAnchorAsync](/ar/reference/c/group/ar-session#arsession_resolvecloudanchorasync). |\n\n| ### Functions ||\n|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------|\n| [ArResolveCloudAnchorFuture_acquireResultAnchor](#arresolvecloudanchorfuture_acquireresultanchor)`(const `[ArSession](/ar/reference/c/group/ar-session#arsession)` *session, const `[ArResolveCloudAnchorFuture](/ar/reference/c/group/ar-resolve-cloud-anchor-future#arresolvecloudanchorfuture)` *future, `[ArAnchor](/ar/reference/c/group/ar-anchor#aranchor)` **out_anchor)` | `void` Gets the resolved Cloud Anchor. |\n| [ArResolveCloudAnchorFuture_getResultCloudAnchorState](#arresolvecloudanchorfuture_getresultcloudanchorstate)`(const `[ArSession](/ar/reference/c/group/ar-session#arsession)` *session, const `[ArResolveCloudAnchorFuture](/ar/reference/c/group/ar-resolve-cloud-anchor-future#arresolvecloudanchorfuture)` *future, `[ArCloudAnchorState](/ar/reference/c/group/ar-anchor#arcloudanchorstate)` *out_cloud_anchor_state)` | `void` Gets the result status of the resolving operation, if the operation is done. |\n\nTypedefs\n--------\n\n### ArResolveCloudAnchorCallback\n\n```scdoc\nvoid(* ArResolveCloudAnchorCallback)(void *context, ArAnchor *anchor, ArCloudAnchorState cloud_anchor_state)\n``` \nCallback definition for [ArSession_resolveCloudAnchorAsync](/ar/reference/c/group/ar-session#arsession_resolvecloudanchorasync).\n\nThe `context` argument will be the same as that passed to [ArSession_resolveCloudAnchorAsync](/ar/reference/c/group/ar-session#arsession_resolvecloudanchorasync). The `anchor` argument will be the same as that returned by [ArResolveCloudAnchorFuture_acquireResultAnchor](/ar/reference/c/group/ar-resolve-cloud-anchor-future#arresolvecloudanchorfuture_acquireresultanchor) and must be released using [ArAnchor_release](/ar/reference/c/group/ar-anchor#aranchor_release). The `cloud_anchor_state` argument will be the same as that returned by [ArResolveCloudAnchorFuture_getResultCloudAnchorState](/ar/reference/c/group/ar-resolve-cloud-anchor-future#arresolvecloudanchorfuture_getresultcloudanchorstate).\n\nIt is a best practice to free `context` memory provided to [ArSession_resolveCloudAnchorAsync](/ar/reference/c/group/ar-session#arsession_resolvecloudanchorasync) at the end of the callback implementation. \n\n### ArResolveCloudAnchorFuture\n\n```scdoc\nstruct ArResolveCloudAnchorFuture_ ArResolveCloudAnchorFuture\n``` \nHandle to an asynchronous operation launched by [ArSession_resolveCloudAnchorAsync](/ar/reference/c/group/ar-session#arsession_resolvecloudanchorasync).\n\nRelease with [ArFuture_release](/ar/reference/c/group/ar-future#arfuture_release). ([reference type, long-lived](/ar/reference/c/group/concepts#object-ownership)).\n\nFunctions\n---------\n\n### ArResolveCloudAnchorFuture_acquireResultAnchor\n\n```gdscript\nvoid ArResolveCloudAnchorFuture_acquireResultAnchor(\n const ArSession *session,\n const ArResolveCloudAnchorFuture *future,\n ArAnchor **out_anchor\n)\n``` \nGets the resolved Cloud Anchor.\n\nIf the operation isn't done yet or the operation failed, this will be `NULL`. The caller must release the anchor using [ArAnchor_release](/ar/reference/c/group/ar-anchor#aranchor_release).\n\n\n| Details ||\n|------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Parameters | |--------------|--------------------------------------------| | `session` | The ARCore session. | | `future` | The handle for the asynchronous operation. | | `out_anchor` | The anchor. | |\n\n### ArResolveCloudAnchorFuture_getResultCloudAnchorState\n\n```gdscript\nvoid ArResolveCloudAnchorFuture_getResultCloudAnchorState(\n const ArSession *session,\n const ArResolveCloudAnchorFuture *future,\n ArCloudAnchorState *out_cloud_anchor_state\n)\n``` \nGets the result status of the resolving operation, if the operation is done.\n\n\n| Details ||\n|------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Parameters | |--------------------------|--------------------------------------------| | `session` | The ARCore session. | | `future` | The handle for the asynchronous operation. | | `out_cloud_anchor_state` | The result status. | |"]]