Helix Core is now P4. Product user interfaces will be updated soon. Learn more >>

C/C++ API Documentation | 2025.2

# ClientProgress::Update( long )

Reports on command progress and can be used for updating progress bars.

Virtual? | Yes |
Class | `ClientProgress` |
Arguments | `long units` | Total number of progress units processed, if known
Returns | `int` |

## Notes

The API calls the `Update()` method periodically during the life of a command and reports on the number of client progress units processed. (Because a million calls for an update of one million 1024-byte files would be prohibitive, not every unit of progress is reported.) Instead, the API calls this method periodically depending on a combination of elapsed time and number of client progress units processed.

To request the server cancel a process, see ClientApi::SetBreak( KeepAlive *breakCallback ).

## See also

`ClientUser::CreateProgress()` `ClientUser::ProgressIndicator()` `ClientProgress::Description()` `ClientProgress::Done()` `ClientProgress::Total()`

## Example

To report on units processed, create a subclass of `ClientProgress` and define an alternate implementation of `Update()`.

    void MyProgress::Update( long units )
    {
        displayGUI( units ); // show how many units have been processed
        return 0; // user has not requested cancel, continue processing
    }

Your search for returned results