xref: /haiku/src/bin/package/PackageWriterListener.cpp (revision a84e14ca84d32e9469c91372d71556488bd3d48b)
1 /*
2  * Copyright 2009-2011, Ingo Weinhold, ingo_weinhold@gmx.de.
3  * Copyright 2011, Oliver Tappe <zooey@hirschkaefer.de>
4  * Distributed under the terms of the MIT License.
5  */
6 
7 
8 #include "PackageWriterListener.h"
9 
10 #include <stdio.h>
11 
12 
13 using BPackageKit::BHPKG::BPackageWriterListener;
14 using BPackageKit::BHPKG::BPackageWriter;
15 
16 
PackageWriterListener(bool verbose,bool quiet)17 PackageWriterListener::PackageWriterListener(bool verbose, bool quiet)
18 	:
19 	fVerbose(verbose), fQuiet(quiet)
20 {
21 }
22 
23 
24 void
PrintErrorVarArgs(const char * format,va_list args)25 PackageWriterListener::PrintErrorVarArgs(const char* format, va_list args)
26 {
27 	vfprintf(stderr, format, args);
28 }
29 
30 
31 void
OnEntryAdded(const char * path)32 PackageWriterListener::OnEntryAdded(const char* path)
33 {
34 	if (fQuiet || !fVerbose)
35 		return;
36 
37 	printf("\t%s\n", path);
38 }
39 
40 
41 void
OnTOCSizeInfo(uint64 uncompressedStringsSize,uint64 uncompressedMainSize,uint64 uncompressedTOCSize)42 PackageWriterListener::OnTOCSizeInfo(uint64 uncompressedStringsSize,
43 	uint64 uncompressedMainSize, uint64 uncompressedTOCSize)
44 {
45 	if (fQuiet || !fVerbose)
46 		return;
47 
48 	printf("----- TOC Info -----------------------------------\n");
49 	printf("cached strings size:     %10" B_PRIu64 " (uncompressed)\n",
50 		uncompressedStringsSize);
51 	printf("TOC main size:           %10" B_PRIu64 " (uncompressed)\n",
52 		uncompressedMainSize);
53 	printf("total TOC size:          %10" B_PRIu64 " (uncompressed)\n",
54 		uncompressedTOCSize);
55 }
56 
57 
58 void
OnPackageAttributesSizeInfo(uint32 stringCount,uint32 uncompressedSize)59 PackageWriterListener::OnPackageAttributesSizeInfo(uint32 stringCount,
60 	uint32 uncompressedSize)
61 {
62 	if (fQuiet || !fVerbose)
63 		return;
64 
65 	printf("----- Package Attribute Info ---------------------\n");
66 	printf("string count:            %10" B_PRIu32 "\n", stringCount);
67 	printf("package attributes size: %10" B_PRIu32 " (uncompressed)\n",
68 		uncompressedSize);
69 }
70 
71 
72 void
OnPackageSizeInfo(uint32 headerSize,uint64 heapSize,uint64 tocSize,uint32 packageAttributesSize,uint64 totalSize)73 PackageWriterListener::OnPackageSizeInfo(uint32 headerSize, uint64 heapSize,
74 	uint64 tocSize, uint32 packageAttributesSize, uint64 totalSize)
75 {
76 	if (fQuiet)
77 		return;
78 
79 	printf("----- Package Info ----------------\n");
80 	printf("header size:             %10" B_PRIu32 "\n", headerSize);
81 	printf("heap size:               %10" B_PRIu64 "\n", heapSize);
82 	printf("TOC size:                %10" B_PRIu64 "\n", tocSize);
83 	printf("package attributes size: %10" B_PRIu32 "\n",
84 		packageAttributesSize);
85 	printf("total size:              %10" B_PRIu64 "\n", totalSize);
86 	printf("-----------------------------------\n");
87 }
88