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

C/C++ API Documentation | 2025.1

# ClientUser::ProgressIndicator()

Returns nonzero if progress is to be reported, otherwise returns 0.

Virtual? | Yes |
Class | `ClientUser` |
Arguments | None |
Returns | `int` | returns non-zero if progress indicators are desired, 0 otherwise

## Notes

If you implement `ProgressIndicator()` so it returns true (1), server side events can send progress reports. Such progress reports cause `ClientProgress` to be called. To handle these progress reports, override `CreateProgress()` so that you can return an instance of your `ClientProgress` subclass. Client side progress reports call `CreateProgress()` but the thread-based parallel transfer implementation only calls `ClientProgress()` for client-side progress events from the child threads if `ClientUser::CanParallelProgress()` returns 1.

## See also

`ClientProgress`

## Example

The typical implementation of `ProgressIndicator()` returns 1, and you call it when you want to enable progress reporting:

    MyUserProgress::ProgressIndicator()
    {
        return 1;
    }

Your search for returned results