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

C/C++ API Documentation | 2025.2

# ClientProgress::Total( long )

Defines the number of units requested during the operation, if known.

Virtual? | Yes |
Class | `ClientProgress` |
Arguments | `long units` | Total number of client progress units expected, if known
Returns | `void` |

## Notes

The API calls this method if and when it has determined the number of client progress units, as defined by `Description()`, are to be processed during the command.

If the total number of expected units changes during the lifetime of a command, the API might call this method more than once. The total number of expected units is not the same as the number of remaining units. Certain commands might result in multiple calls to this method as the server determines more about the amount of data to be retrieved.

## See also

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

## Example

To report how many progress units are expected, create a subclass of `ClientProgress` and define an alternate implementation of `Total()`.

For example, the following method outputs the number of units expected and is called when, if, and as the total number of expected units changes over the lifetime of the command:

    void MyProgress::Total( long units )
    {
        printf( "Now expecting %l units\n" );
    }

Your search for returned results