clientprog.cc #1

  • //
  • guest/
  • Newtopian/
  • p4/
  • 2014.1/
  • client/
  • clientprog.cc
  • View
  • Commits
  • Open Download .zip Download (1 KB)
/*
 * Copyright 1995, 2011 Perforce Software.  All rights reserved.
 *
 * This file is part of Perforce - the FAST SCM System.
 */

# include <clientapi.h>
# include <clientprog.h>
# include <timer.h>
# include <progress.h>

ClientProgressText::ClientProgressText( int ty )
    : typeOfProgress( ty ), total( 0 ), cnt( 0 ), first( 1 )
{
}

ClientProgressText::~ClientProgressText()
{
}

void
ClientProgressText::Description( const StrPtr *desc, int units )
{
	printf( "%s ", desc->Text() );
	cnt = 0;
	first = 1;
	total = 0;
}

void
ClientProgressText::Total( long t )
{
	total = t;
}

int
ClientProgressText::Update( long pos )
{
	if( total )
	{
	    int pct = int(100.0 * pos / total);

	    if( !first )
		printf( "\b\b\b\b\b\b" );

	    printf( "%3d%% %c", pct, "|/-\\"[ cnt ] );
	}
	else
	{
	    if( !first )
		printf( "\b\b\b\b\b\b\b\b" );

	    printf( "%6ld %c", pos, "|/-\\"[ cnt ] );
	}

	first = 0;
	fflush(stdout);
	if( ++cnt == 4 )
	    cnt = 0;

	return 0;
}

void
ClientProgressText::Done( int fail )
{
	if( !first )
	    printf( "\b" );
	printf( fail == CPP_FAILDONE ? "failed!\n" : "finishing\n");
}
# Change User Description Committed
#1 14945 Newtopian Merging

//guest/perforce_software/p4/...

to //guest/Newtopian/p4/...
//guest/perforce_software/p4/2014.1/client/clientprog.cc
#1 12188 Matt Attaway Move 'main' p4 into a release specific directory in prep for new releases
//guest/perforce_software/p4/client/clientprog.cc
#1 9129 Matt Attaway Initial commit of the 2014.1 p4/p4api source code