本文整理汇总了C++中AttrListPrintMask::display方法的典型用法代码示例。如果您正苦于以下问题:C++ AttrListPrintMask::display方法的具体用法?C++ AttrListPrintMask::display怎么用?C++ AttrListPrintMask::display使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AttrListPrintMask
的用法示例。
在下文中一共展示了AttrListPrintMask::display方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Lbl
void
printRun (ClassAd *ad, bool first)
{
if (first) {
ppInit();
ppSetColumn(ATTR_NAME, wide_display ? -34 : -15, ! wide_display);
if (javaMode) {
ppSetColumn(ATTR_JAVA_VENDOR, -11, ! wide_display);
ppSetColumn(ATTR_JAVA_VERSION, Lbl("Ver"), -6, ! wide_display);
} else if (vmMode) {
ppSetColumn(ATTR_VM_TYPE, Lbl("VMType"), -6, ! wide_display);
ppSetColumn(ATTR_VM_NETWORKING_TYPES, Lbl("Network"), -11, ! wide_display);
} else {
ppSetColumn(ATTR_OPSYS, -11, true);
ppSetColumn(ATTR_ARCH, -6, true);
}
ppSetColumn(ATTR_LOAD_AVG, Lbl("LoadAv"), formatLoadAvg, NULL, 6, true);
ppSetColumn(ATTR_REMOTE_USER, -20, ! wide_display);
ppSetColumn(ATTR_CLIENT_MACHINE, -16, ! wide_display);
ppDisplayHeadings(stdout, ad, "\n");
}
if (ad)
pm.display (stdout, ad);
}
示例2:
void
printQuillNormal (ClassAd *ad) {
static bool first = true;
static AttrListPrintMask alpm;
if (ad)
{
// print header if necessary
if (first)
{
printf ("\n%-20.20s %-10.10s %-16.16s %-18.18s\n\n",
ATTR_NAME, ATTR_MACHINE, ATTR_QUILL_SQL_TOTAL,
ATTR_QUILL_SQL_LAST_BATCH);
alpm.registerFormat("%-20.20s ", ATTR_NAME,
"[??????????????????] ");
alpm.registerFormat("%-10.10s ", ATTR_MACHINE,
"[????????] ");
alpm.registerFormat("%16d ",ATTR_QUILL_SQL_TOTAL,
"[??????????????] ");
alpm.registerFormat("%18d\n",ATTR_QUILL_SQL_LAST_BATCH,
"[???????????]\n");
first = false;
}
alpm.display (stdout, ad);
}
}
示例3: ppDisplayHeadings
static void ppDisplayHeadings(FILE* file, ClassAd *ad, const char * pszExtra)
{
if (ad) {
// render the first ad to a string so the column widths update
std::string tmp;
pm.display(tmp, ad, NULL);
}
if (pm.has_headings()) {
pm.display_Headings(file);
} else {
pm.display_Headings(file, pm_head);
}
if (pszExtra)
printf("%s", pszExtra);
}
示例4: printJob
// print a single job ad
//
static void printJob(ClassAd & ad)
{
if (longformat) {
if (use_xml) {
fPrintAdAsXML(stdout, ad);
} else {
fPrintAd(stdout, ad);
}
printf("\n");
} else {
if (customFormat) {
mask.display(stdout, &ad);
} else {
displayJobShort(&ad);
}
}
}
示例5: readHistoryFromFile
// Read the history from a single file and print it out.
static void readHistoryFromFile(char *JobHistoryFileName, char* constraint, ExprTree *constraintExpr)
{
int EndFlag = 0;
int ErrorFlag = 0;
int EmptyFlag = 0;
AttrList *ad = NULL;
long offset = 0;
bool BOF = false; // Beginning Of File
MyString buf;
FILE* LogFile=safe_fopen_wrapper(JobHistoryFileName,"r");
if (!LogFile) {
fprintf(stderr,"History file (%s) not found or empty.\n", JobHistoryFileName);
exit(1);
}
// In case of rotated history files, check if we have already reached the number of
// matches specified by the user before reading the next file
if (specifiedMatch != 0) {
if (matchCount == specifiedMatch) { // Already found n number of matches, cleanup
fclose(LogFile);
return;
}
}
if (backwards) {
offset = findLastDelimiter(LogFile, JobHistoryFileName);
}
while(!EndFlag) {
if (backwards) { // Read history file backwards
if (BOF) { // If reached beginning of file
break;
}
offset = findPrevDelimiter(LogFile, JobHistoryFileName, offset);
if (offset == -1) { // Unable to match constraint
break;
} else if (offset != 0) {
fseek(LogFile, offset, SEEK_SET);
buf.readLine(LogFile); // Read one line to skip delimiter and adjust to actual offset of ad
} else { // Offset set to 0
BOF = true;
fseek(LogFile, offset, SEEK_SET);
}
}
if( !( ad=new AttrList(LogFile,"***", EndFlag, ErrorFlag, EmptyFlag) ) ){
fprintf( stderr, "Error: Out of memory\n" );
exit( 1 );
}
if( ErrorFlag ) {
printf( "\t*** Warning: Bad history file; skipping malformed ad(s)\n" );
ErrorFlag=0;
if(ad) {
delete ad;
ad = NULL;
}
continue;
}
if( EmptyFlag ) {
EmptyFlag=0;
if(ad) {
delete ad;
ad = NULL;
}
continue;
}
if (!constraint || EvalBool(ad, constraintExpr)) {
if (longformat) {
ad->fPrint(stdout); printf("\n");
} else {
if (customFormat) {
mask.display(stdout, ad);
} else {
displayJobShort(ad);
}
}
matchCount++; // if control reached here, match has occured
if (specifiedMatch != 0) { // User specified a match number
if (matchCount == specifiedMatch) { // Found n number of matches, cleanup
if (ad) {
delete ad;
ad = NULL;
}
fclose(LogFile);
return;
}
}
}
if(ad) {
delete ad;
//.........这里部分代码省略.........
示例6: readHistoryFromFileOld
//.........这里部分代码省略.........
return;
}
}
if (backwards) {
offset = findLastDelimiter(LogFile, JobHistoryFileName);
}
if(longformat && use_xml) {
std::string out;
AddClassAdXMLFileHeader(out);
printf("%s\n", out.c_str());
}
while(!EndFlag) {
if (backwards) { // Read history file backwards
if (BOF) { // If reached beginning of file
break;
}
offset = findPrevDelimiter(LogFile, JobHistoryFileName, offset);
if (offset == -1) { // Unable to match constraint
break;
} else if (offset != 0) {
fseek(LogFile, offset, SEEK_SET);
buf.readLine(LogFile); // Read one line to skip delimiter and adjust to actual offset of ad
} else { // Offset set to 0
BOF = true;
fseek(LogFile, offset, SEEK_SET);
}
}
if( !( ad=new ClassAd(LogFile,"***", EndFlag, ErrorFlag, EmptyFlag) ) ){
fprintf( stderr, "Error: Out of memory\n" );
exit( 1 );
}
if( ErrorFlag ) {
printf( "\t*** Warning: Bad history file; skipping malformed ad(s)\n" );
ErrorFlag=0;
if(ad) {
delete ad;
ad = NULL;
}
continue;
}
if( EmptyFlag ) {
EmptyFlag=0;
if(ad) {
delete ad;
ad = NULL;
}
continue;
}
if (!constraint || constraint[0]=='\0' || EvalBool(ad, constraintExpr)) {
if (longformat) {
if( use_xml ) {
fPrintAdAsXML(stdout, *ad);
}
else {
fPrintAd(stdout, *ad);
}
printf("\n");
} else {
if (customFormat) {
mask.display(stdout, ad);
} else {
displayJobShort(ad);
}
}
matchCount++; // if control reached here, match has occured
if (specifiedMatch != 0) { // User specified a match number
if (matchCount == specifiedMatch) { // Found n number of matches, cleanup
if (ad) {
delete ad;
ad = NULL;
}
fclose(LogFile);
return;
}
}
}
if(ad) {
delete ad;
ad = NULL;
}
}
if(longformat && use_xml) {
std::string out;
AddClassAdXMLFileFooter(out);
printf("%s\n", out.c_str());
}
fclose(LogFile);
return;
}
示例7: if
//.........这里部分代码省略.........
case PP_STARTD_STATE:
printState(ad, (classad_index == 0));
break;
#ifdef HAVE_EXT_POSTGRESQL
case PP_QUILL_NORMAL:
printQuillNormal (ad);
break;
#endif /* HAVE_EXT_POSTGRESQL */
case PP_SCHEDD_NORMAL:
printScheddNormal (ad, (classad_index == 0));
break;
case PP_NEGOTIATOR_NORMAL:
printNegotiatorNormal (ad, (classad_index == 0));
break;
case PP_SCHEDD_SUBMITTORS:
printScheddSubmittors (ad, (classad_index == 0));
break;
case PP_VERBOSE:
printVerbose (ad);
break;
case PP_XML:
printXML (ad, (classad_index == 0),
(classad_index == last_classad_index));
break;
case PP_MASTER_NORMAL:
printMasterNormal(ad, (classad_index == 0));
break;
case PP_COLLECTOR_NORMAL:
printCollectorNormal(ad, (classad_index == 0));
break;
case PP_CKPT_SRVR_NORMAL:
printCkptSrvrNormal(ad, (classad_index == 0));
break;
case PP_STORAGE_NORMAL:
printStorageNormal(ad, (classad_index == 0));
break;
case PP_GRID_NORMAL:
printGridNormal(ad, (classad_index == 0));
break;
case PP_GENERIC_NORMAL:
case PP_GENERIC:
case PP_ANY_NORMAL:
printAnyNormal(ad, (classad_index == 0));
break;
case PP_CUSTOM:
// hack: print a single item to a string, then discard the string
// this makes sure that the headings line up correctly over the first
// line of data.
if (fPrintHeadings) {
std::string tmp;
pm.display(tmp, ad, targetAd);
if (pm.has_headings()) {
if ( ! (pmHeadFoot & HF_NOHEADER))
pm.display_Headings(stdout);
} else {
pm.display_Headings(stdout, pm_head);
}
fPrintHeadings = false;
}
printCustom (ad);
break;
case PP_NOTSET:
fprintf (stderr, "Error: pretty printing set to PP_NOTSET.\n");
exit (1);
default:
fprintf (stderr, "Error: Unknown pretty print option.\n");
exit (1);
}
}
classad_index++;
totals->update(ad);
}
adList.Close();
// if there are no ads to print, but the user wanted XML output,
// then print out the XML header and footer, so that naive XML
// parsers won't get confused.
if ( PP_XML == pps && 0 == classad_index ) {
printXML (NULL, true, true);
}
// if totals are required, display totals
if (adList.MyLength() > 0 && totals) totals->displayTotals(stdout, 20);
}