summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHisham Muhammad <hisham@gobolinux.org>2008-03-09 08:58:38 +0000
committerHisham Muhammad <hisham@gobolinux.org>2008-03-09 08:58:38 +0000
commitda23c8c5a188324455c8f417293c10d85f65cb63 (patch)
treed7a4b8cb0af705de6650e20e00ba3da04d84b27f
parent12f4f09e6ed288bdedc86e4ef22f3cc34f0e787a (diff)
Clean up headers by using 'static' whenever possible.
Reduces resulting code size.
-rw-r--r--AffinityPanel.c34
-rw-r--r--AffinityPanel.h2
-rw-r--r--AvailableColumnsPanel.c44
-rw-r--r--AvailableColumnsPanel.h4
-rw-r--r--AvailableMetersPanel.c72
-rw-r--r--AvailableMetersPanel.h4
-rw-r--r--CPUMeter.c68
-rw-r--r--CPUMeter.h18
-rw-r--r--CRT.c22
-rw-r--r--CRT.h4
-rw-r--r--CategoriesPanel.c84
-rw-r--r--CategoriesPanel.h12
-rw-r--r--CheckItem.c40
-rw-r--r--CheckItem.h4
-rw-r--r--ClockMeter.c14
-rw-r--r--ClockMeter.h2
-rw-r--r--ColorsPanel.c39
-rw-r--r--ColorsPanel.h5
-rw-r--r--ColumnsPanel.c91
-rw-r--r--ColumnsPanel.h3
-rw-r--r--DisplayOptionsPanel.c49
-rw-r--r--DisplayOptionsPanel.h5
-rw-r--r--Hashtable.c9
-rw-r--r--Hashtable.h6
-rw-r--r--ListItem.c30
-rw-r--r--ListItem.h4
-rw-r--r--LoadAverageMeter.c56
-rw-r--r--LoadAverageMeter.h12
-rw-r--r--MemoryMeter.c28
-rw-r--r--MemoryMeter.h4
-rw-r--r--Meter.c86
-rw-r--r--Meter.h18
-rw-r--r--MetersPanel.c40
-rw-r--r--MetersPanel.h4
-rw-r--r--Object.c2
-rw-r--r--Object.h2
-rw-r--r--Process.c172
-rw-r--r--Process.h16
-rw-r--r--ProcessList.c50
-rw-r--r--ProcessList.h13
-rw-r--r--ScreenManager.c6
-rw-r--r--ScreenManager.h2
-rw-r--r--Settings.c70
-rw-r--r--Settings.h6
-rw-r--r--SignalItem.c24
-rw-r--r--SignalItem.h6
-rw-r--r--SignalsPanel.c64
-rw-r--r--SignalsPanel.h4
-rw-r--r--String.c55
-rw-r--r--String.h16
-rw-r--r--SwapMeter.c28
-rw-r--r--SwapMeter.h4
-rw-r--r--TasksMeter.c28
-rw-r--r--TasksMeter.h4
-rw-r--r--TraceScreen.c2
-rw-r--r--TraceScreen.h2
-rw-r--r--UptimeMeter.c26
-rw-r--r--UptimeMeter.h2
-rw-r--r--UsersTable.c4
-rw-r--r--UsersTable.h2
-rw-r--r--Vector.c12
-rw-r--r--Vector.h8
-rw-r--r--htop.c10
-rw-r--r--htop.h10
64 files changed, 660 insertions, 907 deletions
diff --git a/AffinityPanel.c b/AffinityPanel.c
index 007b0590..bfd10e28 100644
--- a/AffinityPanel.c
+++ b/AffinityPanel.c
@@ -7,6 +7,23 @@
#include "debug.h"
#include <assert.h>
+static HandlerResult AffinityPanel_eventHandler(Panel* this, int ch) {
+ HandlerResult result = IGNORED;
+ CheckItem* selected = (CheckItem*) Panel_getSelected(this);
+ switch(ch) {
+ case ' ':
+ CheckItem_set(selected, ! (CheckItem_get(selected)) );
+ result = HANDLED;
+ break;
+ case 0x0a:
+ case 0x0d:
+ case KEY_ENTER:
+ result = BREAK_LOOP;
+ break;
+ }
+ return result;
+}
+
Panel* AffinityPanel_new(int processorCount, unsigned long mask) {
Panel* this = Panel_new(1, 1, 1, 1, CHECKITEM_CLASS, true, ListItem_compare);
this->eventHandler = AffinityPanel_eventHandler;
@@ -29,20 +46,3 @@ unsigned long AffinityPanel_getAffinity(Panel* this) {
}
return mask;
}
-
-HandlerResult AffinityPanel_eventHandler(Panel* this, int ch) {
- HandlerResult result = IGNORED;
- CheckItem* selected = (CheckItem*) Panel_getSelected(this);
- switch(ch) {
- case ' ':
- CheckItem_set(selected, ! (CheckItem_get(selected)) );
- result = HANDLED;
- break;
- case 0x0a:
- case 0x0d:
- case KEY_ENTER:
- result = BREAK_LOOP;
- break;
- }
- return result;
-}
diff --git a/AffinityPanel.h b/AffinityPanel.h
index dfea3d74..22283ee3 100644
--- a/AffinityPanel.h
+++ b/AffinityPanel.h
@@ -14,6 +14,4 @@ Panel* AffinityPanel_new(int processorCount, unsigned long mask);
unsigned long AffinityPanel_getAffinity(Panel* this);
-HandlerResult AffinityPanel_eventHandler(Panel* this, int ch);
-
#endif
diff --git a/AvailableColumnsPanel.c b/AvailableColumnsPanel.c
index eeceb60c..b21bd3c3 100644
--- a/AvailableColumnsPanel.c
+++ b/AvailableColumnsPanel.c
@@ -22,34 +22,14 @@ typedef struct AvailableColumnsPanel_ {
}*/
-AvailableColumnsPanel* AvailableColumnsPanel_new(Settings* settings, Panel* columns, ScreenManager* scr) {
- AvailableColumnsPanel* this = (AvailableColumnsPanel*) malloc(sizeof(AvailableColumnsPanel));
- Panel* super = (Panel*) this;
- Panel_init(super, 1, 1, 1, 1, LISTITEM_CLASS, true);
- ((Object*)this)->delete = AvailableColumnsPanel_delete;
-
- this->settings = settings;
- this->scr = scr;
- super->eventHandler = AvailableColumnsPanel_eventHandler;
-
- Panel_setHeader(super, "Available Columns");
-
- for (int i = 1; i < LAST_PROCESSFIELD; i++) {
- if (i != COMM)
- Panel_add(super, (Object*) ListItem_new(Process_fieldNames[i], 0));
- }
- this->columns = columns;
- return this;
-}
-
-void AvailableColumnsPanel_delete(Object* object) {
+static void AvailableColumnsPanel_delete(Object* object) {
Panel* super = (Panel*) object;
AvailableColumnsPanel* this = (AvailableColumnsPanel*) object;
Panel_done(super);
free(this);
}
-HandlerResult AvailableColumnsPanel_eventHandler(Panel* super, int ch) {
+static HandlerResult AvailableColumnsPanel_eventHandler(Panel* super, int ch) {
AvailableColumnsPanel* this = (AvailableColumnsPanel*) super;
char* text = ((ListItem*) Panel_getSelected(super))->value;
HandlerResult result = IGNORED;
@@ -69,3 +49,23 @@ HandlerResult AvailableColumnsPanel_eventHandler(Panel* super, int ch) {
}
return result;
}
+
+AvailableColumnsPanel* AvailableColumnsPanel_new(Settings* settings, Panel* columns, ScreenManager* scr) {
+ AvailableColumnsPanel* this = (AvailableColumnsPanel*) malloc(sizeof(AvailableColumnsPanel));
+ Panel* super = (Panel*) this;
+ Panel_init(super, 1, 1, 1, 1, LISTITEM_CLASS, true);
+ ((Object*)this)->delete = AvailableColumnsPanel_delete;
+
+ this->settings = settings;
+ this->scr = scr;
+ super->eventHandler = AvailableColumnsPanel_eventHandler;
+
+ Panel_setHeader(super, "Available Columns");
+
+ for (int i = 1; i < LAST_PROCESSFIELD; i++) {
+ if (i != COMM)
+ Panel_add(super, (Object*) ListItem_new(Process_fieldNames[i], 0));
+ }
+ this->columns = columns;
+ return this;
+}
diff --git a/AvailableColumnsPanel.h b/AvailableColumnsPanel.h
index d7bed265..d07acf80 100644
--- a/AvailableColumnsPanel.h
+++ b/AvailableColumnsPanel.h
@@ -25,8 +25,4 @@ typedef struct AvailableColumnsPanel_ {
AvailableColumnsPanel* AvailableColumnsPanel_new(Settings* settings, Panel* columns, ScreenManager* scr);
-void AvailableColumnsPanel_delete(Object* object);
-
-HandlerResult AvailableColumnsPanel_eventHandler(Panel* super, int ch);
-
#endif
diff --git a/AvailableMetersPanel.c b/AvailableMetersPanel.c
index cb87802e..0645eba2 100644
--- a/AvailableMetersPanel.c
+++ b/AvailableMetersPanel.c
@@ -23,41 +23,7 @@ typedef struct AvailableMetersPanel_ {
}*/
-AvailableMetersPanel* AvailableMetersPanel_new(Settings* settings, Panel* leftMeters, Panel* rightMeters, ScreenManager* scr) {
- AvailableMetersPanel* this = (AvailableMetersPanel*) malloc(sizeof(AvailableMetersPanel));
- Panel* super = (Panel*) this;
- Panel_init(super, 1, 1, 1, 1, LISTITEM_CLASS, true);
- ((Object*)this)->delete = AvailableMetersPanel_delete;
-
- this->settings = settings;
- this->leftPanel = leftMeters;
- this->rightPanel = rightMeters;
- this->scr = scr;
- super->eventHandler = AvailableMetersPanel_EventHandler;
-
- Panel_setHeader(super, "Available meters");
- for (int i = 1; Meter_types[i]; i++) {
- MeterType* type = Meter_types[i];
- if (type != &CPUMeter) {
- Panel_add(super, (Object*) ListItem_new(type->uiName, i << 16));
- }
- }
- MeterType* type = &CPUMeter;
- int processors = settings->pl->processorCount;
- if (processors > 1) {
- Panel_add(super, (Object*) ListItem_new("CPU average", 0));
- for (int i = 1; i <= processors; i++) {
- char buffer[50];
- sprintf(buffer, "%s %d", type->uiName, i);
- Panel_add(super, (Object*) ListItem_new(buffer, i));
- }
- } else {
- Panel_add(super, (Object*) ListItem_new("CPU", 1));
- }
- return this;
-}
-
-void AvailableMetersPanel_delete(Object* object) {
+static void AvailableMetersPanel_delete(Object* object) {
Panel* super = (Panel*) object;
AvailableMetersPanel* this = (AvailableMetersPanel*) object;
Panel_done(super);
@@ -69,7 +35,7 @@ static inline void AvailableMetersPanel_addHeader(Header* header, Panel* panel,
Panel_add(panel, (Object*) Meter_toListItem(meter));
}
-HandlerResult AvailableMetersPanel_EventHandler(Panel* super, int ch) {
+static HandlerResult AvailableMetersPanel_eventHandler(Panel* super, int ch) {
AvailableMetersPanel* this = (AvailableMetersPanel*) super;
Header* header = this->settings->header;
@@ -104,3 +70,37 @@ HandlerResult AvailableMetersPanel_EventHandler(Panel* super, int ch) {
}
return result;
}
+
+AvailableMetersPanel* AvailableMetersPanel_new(Settings* settings, Panel* leftMeters, Panel* rightMeters, ScreenManager* scr) {
+ AvailableMetersPanel* this = (AvailableMetersPanel*) malloc(sizeof(AvailableMetersPanel));
+ Panel* super = (Panel*) this;
+ Panel_init(super, 1, 1, 1, 1, LISTITEM_CLASS, true);
+ ((Object*)this)->delete = AvailableMetersPanel_delete;
+
+ this->settings = settings;
+ this->leftPanel = leftMeters;
+ this->rightPanel = rightMeters;
+ this->scr = scr;
+ super->eventHandler = AvailableMetersPanel_eventHandler;
+
+ Panel_setHeader(super, "Available meters");
+ for (int i = 1; Meter_types[i]; i++) {
+ MeterType* type = Meter_types[i];
+ if (type != &CPUMeter) {
+ Panel_add(super, (Object*) ListItem_new(type->uiName, i << 16));
+ }
+ }
+ MeterType* type = &CPUMeter;
+ int processors = settings->pl->processorCount;
+ if (processors > 1) {
+ Panel_add(super, (Object*) ListItem_new("CPU average", 0));
+ for (int i = 1; i <= processors; i++) {
+ char buffer[50];
+ sprintf(buffer, "%s %d", type->uiName, i);
+ Panel_add(super, (Object*) ListItem_new(buffer, i));
+ }
+ } else {
+ Panel_add(super, (Object*) ListItem_new("CPU", 1));
+ }
+ return this;
+}
diff --git a/AvailableMetersPanel.h b/AvailableMetersPanel.h
index 89d95179..25d4c08b 100644
--- a/AvailableMetersPanel.h
+++ b/AvailableMetersPanel.h
@@ -26,8 +26,4 @@ typedef struct AvailableMetersPanel_ {
AvailableMetersPanel* AvailableMetersPanel_new(Settings* settings, Panel* leftMeters, Panel* rightMeters, ScreenManager* scr);
-void AvailableMetersPanel_delete(Object* object);
-
-HandlerResult AvailableMetersPanel_EventHandler(Panel* super, int ch);
-
#endif
diff --git a/CPUMeter.c b/CPUMeter.c
index 1fdac5ca..bc6af15e 100644
--- a/CPUMeter.c
+++ b/CPUMeter.c
@@ -22,33 +22,6 @@ int CPUMeter_attributes[] = {
CPU_NICE, CPU_NORMAL, CPU_KERNEL, CPU_IRQ, CPU_SOFTIRQ, CPU_IOWAIT
};
-MeterType CPUMeter = {
- .setValues = CPUMeter_setValues,
- .display = CPUMeter_display,
- .mode = BAR_METERMODE,
- .items = 6,
- .total = 100.0,
- .attributes = CPUMeter_attributes,
- .name = "CPU",
- .uiName = "CPU",
- .caption = "CPU",
- .init = CPUMeter_init
-};
-
-MeterType AllCPUsMeter = {
- .mode = 0,
- .items = 1,
- .total = 100.0,
- .attributes = CPUMeter_attributes,
- .name = "AllCPUs",
- .uiName = "All CPUs",
- .caption = "CPU",
- .draw = AllCPUsMeter_draw,
- .init = AllCPUsMeter_init,
- .setMode = AllCPUsMeter_setMode,
- .done = AllCPUsMeter_done
-};
-
#ifndef MIN
#define MIN(a,b) ((a)<(b)?(a):(b))
#endif
@@ -56,7 +29,7 @@ MeterType AllCPUsMeter = {
#define MAX(a,b) ((a)>(b)?(a):(b))
#endif
-void CPUMeter_init(Meter* this) {
+static void CPUMeter_init(Meter* this) {
int processor = this->param;
if (this->pl->processorCount > 1) {
char caption[10];
@@ -67,7 +40,7 @@ void CPUMeter_init(Meter* this) {
Meter_setCaption(this, "Avg");
}
-void CPUMeter_setValues(Meter* this, char* buffer, int size) {
+static void CPUMeter_setValues(Meter* this, char* buffer, int size) {
ProcessList* pl = this->pl;
int processor = this->param;
double total = (double) pl->totalPeriod[processor];
@@ -90,7 +63,7 @@ void CPUMeter_setValues(Meter* this, char* buffer, int size) {
snprintf(buffer, size, "%5.1f%%", cpu );
}
-void CPUMeter_display(Object* cast, RichString* out) {
+static void CPUMeter_display(Object* cast, RichString* out) {
char buffer[50];
Meter* this = (Meter*)cast;
RichString_init(out);
@@ -123,7 +96,7 @@ void CPUMeter_display(Object* cast, RichString* out) {
}
}
-void AllCPUsMeter_init(Meter* this) {
+static void AllCPUsMeter_init(Meter* this) {
int processors = this->pl->processorCount;
this->drawBuffer = malloc(sizeof(Meter*) * processors);
Meter** meters = (Meter**) this->drawBuffer;
@@ -133,21 +106,21 @@ void AllCPUsMeter_init(Meter* this) {
this->mode = BAR_METERMODE;
}
-void AllCPUsMeter_done(Meter* this) {
+static void AllCPUsMeter_done(Meter* this) {
int processors = this->pl->processorCount;
Meter** meters = (Meter**) this->drawBuffer;
for (int i = 0; i < processors; i++)
Meter_delete((Object*)meters[i]);
}
-void AllCPUsMeter_setMode(Meter* this, int mode) {
+static void AllCPUsMeter_setMode(Meter* this, int mode) {
this->mode = mode;
int processors = this->pl->processorCount;
int h = Meter_modes[this->mode]->h;
this->h = h * processors;
}
-void AllCPUsMeter_draw(Meter* this, int x, int y, int w) {
+static void AllCPUsMeter_draw(Meter* this, int x, int y, int w) {
int processors = this->pl->processorCount;
Meter** meters = (Meter**) this->drawBuffer;
for (int i = 0; i < processors; i++) {
@@ -156,3 +129,30 @@ void AllCPUsMeter_draw(Meter* this, int x, int y, int w) {
y += meters[i]->h;
}
}
+
+MeterType CPUMeter = {
+ .setValues = CPUMeter_setValues,
+ .display = CPUMeter_display,
+ .mode = BAR_METERMODE,
+ .items = 6,
+ .total = 100.0,
+ .attributes = CPUMeter_attributes,
+ .name = "CPU",
+ .uiName = "CPU",
+ .caption = "CPU",
+ .init = CPUMeter_init
+};
+
+MeterType AllCPUsMeter = {
+ .mode = 0,
+ .items = 1,
+ .total = 100.0,
+ .attributes = CPUMeter_attributes,
+ .name = "AllCPUs",
+ .uiName = "All CPUs",
+ .caption = "CPU",
+ .draw = AllCPUsMeter_draw,
+ .init = AllCPUsMeter_init,
+ .setMode = AllCPUsMeter_setMode,
+ .done = AllCPUsMeter_done
+};
diff --git a/CPUMeter.h b/CPUMeter.h
index bd46a394..2ceb4d45 100644
--- a/CPUMeter.h
+++ b/CPUMeter.h
@@ -23,10 +23,6 @@ in the source distribution for its full text.
extern int CPUMeter_attributes[];
-extern MeterType CPUMeter;
-
-extern MeterType AllCPUsMeter;
-
#ifndef MIN
#define MIN(a,b) ((a)<(b)?(a):(b))
#endif
@@ -34,18 +30,8 @@ extern MeterType AllCPUsMeter;
#define MAX(a,b) ((a)>(b)?(a):(b))
#endif
-void CPUMeter_init(Meter* this);
-
-void CPUMeter_setValues(Meter* this, char* buffer, int size);
-
-void CPUMeter_display(Object* cast, RichString* out);
-
-void AllCPUsMeter_init(Meter* this);
-
-void AllCPUsMeter_done(Meter* this);
-
-void AllCPUsMeter_setMode(Meter* this, int mode);
+extern MeterType CPUMeter;
-void AllCPUsMeter_draw(Meter* this, int x, int y, int w);
+extern MeterType AllCPUsMeter;
#endif
diff --git a/CRT.c b/CRT.c
index 7d2cc10b..942e2775 100644
--- a/CRT.c
+++ b/CRT.c
@@ -114,6 +114,17 @@ int CRT_colors[LAST_COLORELEMENT] = { 0 };
char* CRT_termType;
+static void CRT_handleSIGSEGV(int signal) {
+ CRT_done();
+ fprintf(stderr, "htop " VERSION " aborted. Please report bug at http://htop.sf.net\n");
+ exit(1);
+}
+
+static void CRT_handleSIGTERM(int signal) {
+ CRT_done();
+ exit(0);
+}
+
// TODO: pass an instance of Settings instead.
void CRT_init(int delay, int colorScheme) {
@@ -182,17 +193,6 @@ void CRT_enableDelay() {
halfdelay(CRT_delay);
}
-void CRT_handleSIGSEGV(int signal) {
- CRT_done();
- fprintf(stderr, "htop " VERSION " aborted. Please report bug at http://htop.sf.net\n");
- exit(1);
-}
-
-void CRT_handleSIGTERM(int signal) {
- CRT_done();
- exit(0);
-}
-
void CRT_setColors(int colorScheme) {
CRT_colorScheme = colorScheme;
if (colorScheme == COLORSCHEME_BLACKNIGHT) {
diff --git a/CRT.h b/CRT.h
index e455b3b7..cba59d1a 100644
--- a/CRT.h
+++ b/CRT.h
@@ -127,10 +127,6 @@ void CRT_disableDelay();
void CRT_enableDelay();
-void CRT_handleSIGSEGV(int signal);
-
-void CRT_handleSIGTERM(int signal);
-
void CRT_setColors(int colorScheme);
#endif
diff --git a/CategoriesPanel.c b/CategoriesPanel.c
index 9d471217..8b9d6636 100644
--- a/CategoriesPanel.c
+++ b/CategoriesPanel.c
@@ -35,31 +35,40 @@ static char* ColorsFunctions[10] = {" ", " ", " ", " ", "
static char* AvailableColumnsFunctions[10] = {" ", " ", " ", " ", "Add ", " ", " ", " ", " ", "Done "};
-CategoriesPanel* CategoriesPanel_new(Settings* settings, ScreenManager* scr) {
- CategoriesPanel* this = (CategoriesPanel*) malloc(sizeof(CategoriesPanel));
- Panel* super = (Panel*) this;
- Panel_init(super, 1, 1, 1, 1, LISTITEM_CLASS, true);
- ((Object*)this)->delete = CategoriesPanel_delete;
-
- this->settings = settings;
- this->scr = scr;
- super->eventHandler = CategoriesPanel_eventHandler;
- Panel_setHeader(super, "Setup");
- Panel_add(super, (Object*) ListItem_new("Meters", 0));
- Panel_add(super, (Object*) ListItem_new("Display options", 0));
- Panel_add(super, (Object*) ListItem_new("Colors", 0));
- Panel_add(super, (Object*) ListItem_new("Columns", 0));
- return this;
-}
-
-void CategoriesPanel_delete(Object* object) {
+static void CategoriesPanel_delete(Object* object) {
Panel* super = (Panel*) object;
CategoriesPanel* this = (CategoriesPanel*) object;
Panel_done(super);
free(this);
}
-HandlerResult CategoriesPanel_eventHandler(Panel* super, int ch) {
+void CategoriesPanel_makeMetersPage(CategoriesPanel* this) {
+ Panel* leftMeters = (Panel*) MetersPanel_new(this->settings, "Left column", this->settings->header->leftMeters, this->scr);
+ Panel* rightMeters = (Panel*) MetersPanel_new(this->settings, "Right column", this->settings->header->rightMeters, this->scr);
+ Panel* availableMeters = (Panel*) AvailableMetersPanel_new(this->settings, leftMeters, rightMeters, this->scr);
+ ScreenManager_add(this->scr, leftMeters, FunctionBar_new(10, MetersFunctions, NULL, NULL), 20);
+ ScreenManager_add(this->scr, rightMeters, FunctionBar_new(10, MetersFunctions, NULL, NULL), 20);
+ ScreenManager_add(this->scr, availableMeters, FunctionBar_new(10, AvailableMetersFunctions, NULL, NULL), -1);
+}
+
+static void CategoriesPanel_makeDisplayOptionsPage(CategoriesPanel* this) {
+ Panel* displayOptions = (Panel*) DisplayOptionsPanel_new(this->settings, this->scr);
+ ScreenManager_add(this->scr, displayOptions, FunctionBar_new(10, DisplayOptionsFunctions, NULL, NULL), -1);
+}
+
+static void CategoriesPanel_makeColorsPage(CategoriesPanel* this) {
+ Panel* colors = (Panel*) ColorsPanel_new(this->settings, this->scr);
+ ScreenManager_add(this->scr, colors, FunctionBar_new(10, ColorsFunctions, NULL, NULL), -1);
+}
+
+static void CategoriesPanel_makeColumnsPage(CategoriesPanel* this) {
+ Panel* columns = (Panel*) ColumnsPanel_new(this->settings, this->scr);
+ Panel* availableColumns = (Panel*) AvailableColumnsPanel_new(this->settings, columns, this->scr);
+ ScreenManager_add(this->scr, columns, FunctionBar_new(10, ColumnsFunctions, NULL, NULL), 20);
+ ScreenManager_add(this->scr, availableColumns, FunctionBar_new(10, AvailableColumnsFunctions, NULL, NULL), -1);
+}
+
+static HandlerResult CategoriesPanel_eventHandler(Panel* super, int ch) {
CategoriesPanel* this = (CategoriesPanel*) super;
HandlerResult result = IGNORED;
@@ -107,28 +116,19 @@ HandlerResult CategoriesPanel_eventHandler(Panel* super, int ch) {
return result;
}
-void CategoriesPanel_makeMetersPage(CategoriesPanel* this) {
- Panel* leftMeters = (Panel*) MetersPanel_new(this->settings, "Left column", this->settings->header->leftMeters, this->scr);
- Panel* rightMeters = (Panel*) MetersPanel_new(this->settings, "Right column", this->settings->header->rightMeters, this->scr);
- Panel* availableMeters = (Panel*) AvailableMetersPanel_new(this->settings, leftMeters, rightMeters, this->scr);
- ScreenManager_add(this->scr, leftMeters, FunctionBar_new(10, MetersFunctions, NULL, NULL), 20);
- ScreenManager_add(this->scr, rightMeters, FunctionBar_new(10, MetersFunctions, NULL, NULL), 20);
- ScreenManager_add(this->scr, availableMeters, FunctionBar_new(10, AvailableMetersFunctions, NULL, NULL), -1);
-}
-
-void CategoriesPanel_makeDisplayOptionsPage(CategoriesPanel* this) {
- Panel* displayOptions = (Panel*) DisplayOptionsPanel_new(this->settings, this->scr);
- ScreenManager_add(this->scr, displayOptions, FunctionBar_new(10, DisplayOptionsFunctions, NULL, NULL), -1);
-}
-
-void CategoriesPanel_makeColorsPage(CategoriesPanel* this) {
- Panel* colors = (Panel*) ColorsPanel_new(this->settings, this->scr);
- ScreenManager_add(this->scr, colors, FunctionBar_new(10, ColorsFunctions, NULL, NULL), -1);
-}
+CategoriesPanel* CategoriesPanel_new(Settings* settings, ScreenManager* scr) {
+ CategoriesPanel* this = (CategoriesPanel*) malloc(sizeof(CategoriesPanel));
+ Panel* super = (Panel*) this;
+ Panel_init(super, 1, 1, 1, 1, LISTITEM_CLASS, true);
+ ((Object*)this)->delete = CategoriesPanel_delete;
-void CategoriesPanel_makeColumnsPage(CategoriesPanel* this) {
- Panel* columns = (Panel*) ColumnsPanel_new(this->settings, this->scr);
- Panel* availableColumns = (Panel*) AvailableColumnsPanel_new(this->settings, columns, this->scr);
- ScreenManager_add(this->scr, columns, FunctionBar_new(10, ColumnsFunctions, NULL, NULL), 20);
- ScreenManager_add(this->scr, availableColumns, FunctionBar_new(10, AvailableColumnsFunctions, NULL, NULL), -1);
+ this->settings = settings;
+ this->scr = scr;
+ super->eventHandler = CategoriesPanel_eventHandler;
+ Panel_setHeader(super, "Setup");
+ Panel_add(super, (Object*) ListItem_new("Meters", 0));
+ Panel_add(super, (Object*) ListItem_new("Display options", 0));
+ Panel_add(super, (Object*) ListItem_new("Colors", 0));
+ Panel_add(super, (Object*) ListItem_new("Columns", 0));
+ return this;
}
diff --git a/CategoriesPanel.h b/CategoriesPanel.h
index e0162be9..7748fe1f 100644
--- a/CategoriesPanel.h
+++ b/CategoriesPanel.h
@@ -24,18 +24,8 @@ typedef struct CategoriesPanel_ {
} CategoriesPanel;
-CategoriesPanel* CategoriesPanel_new(Settings* settings, ScreenManager* scr);
-
-void CategoriesPanel_delete(Object* object);
-
-HandlerResult CategoriesPanel_eventHandler(Panel* super, int ch);
-
void CategoriesPanel_makeMetersPage(CategoriesPanel* this);
-void CategoriesPanel_makeDisplayOptionsPage(CategoriesPanel* this);
-
-void CategoriesPanel_makeColorsPage(CategoriesPanel* this);
-
-void CategoriesPanel_makeColumnsPage(CategoriesPanel* this);
+CategoriesPanel* CategoriesPanel_new(Settings* settings, ScreenManager* scr);
#endif
diff --git a/CheckItem.c b/CheckItem.c
index 45c0b22b..3808f7ad 100644
--- a/CheckItem.c
+++ b/CheckItem.c
@@ -28,6 +28,26 @@ char* CHECKITEM_CLASS = "CheckItem";
#define CHECKITEM_CLASS NULL
#endif
+static void CheckItem_delete(Object* cast) {
+ CheckItem* this = (CheckItem*)cast;
+ assert (this != NULL);
+
+ free(this->text);
+ free(this);
+}
+
+static void CheckItem_display(Object* cast, RichString* out) {
+ CheckItem* this = (CheckItem*)cast;
+ assert (this != NULL);
+ RichString_write(out, CRT_colors[CHECK_BOX], "[");
+ if (CheckItem_get(this))
+ RichString_append(out, CRT_colors[CHECK_MARK], "x");
+ else
+ RichString_append(out, CRT_colors[CHECK_MARK], " ");
+ RichString_append(out, CRT_colors[CHECK_BOX], "] ");
+ RichString_append(out, CRT_colors[CHECK_TEXT], this->text);
+}
+
CheckItem* CheckItem_new(char* text, bool* ref, bool value) {
CheckItem* this = malloc(sizeof(CheckItem));
Object_setClass(this, CHECKITEM_CLASS);
@@ -39,14 +59,6 @@ CheckItem* CheckItem_new(char* text, bool* ref, bool value) {
return this;
}
-void CheckItem_delete(Object* cast) {
- CheckItem* this = (CheckItem*)cast;
- assert (this != NULL);
-
- free(this->text);
- free(this);
-}
-
void CheckItem_set(CheckItem* this, bool value) {
if (this->ref)
*(this->ref) = value;
@@ -60,15 +72,3 @@ bool CheckItem_get(CheckItem* this) {
else
return this->value;
}
-
-void CheckItem_display(Object* cast, RichString* out) {
- CheckItem* this = (CheckItem*)cast;
- assert (this != NULL);
- RichString_write(out, CRT_colors[CHECK_BOX], "[");
- if (CheckItem_get(this))
- RichString_append(out, CRT_colors[CHECK_MARK], "x");
- else
- RichString_append(out, CRT_colors[CHECK_MARK], " ");
- RichString_append(out, CRT_colors[CHECK_BOX], "] ");
- RichString_append(out, CRT_colors[CHECK_TEXT], this->text);
-}
diff --git a/CheckItem.h b/CheckItem.h
index 359a0ef7..cc1a3b0f 100644
--- a/CheckItem.h
+++ b/CheckItem.h
@@ -31,12 +31,8 @@ extern char* CHECKITEM_CLASS;
CheckItem* CheckItem_new(char* text, bool* ref, bool value);
-void CheckItem_delete(Object* cast);
-
void CheckItem_set(CheckItem* this, bool value);
bool CheckItem_get(CheckItem* this);
-void CheckItem_display(Object* cast, RichString* out);
-
#endif
diff --git a/ClockMeter.c b/ClockMeter.c
index 847a09b1..8d42b24b 100644
--- a/ClockMeter.c
+++ b/ClockMeter.c
@@ -16,6 +16,13 @@ int ClockMeter_attributes[] = {
CLOCK
};
+static void ClockMeter_setValues(Meter* this, char* buffer, int size) {
+ time_t t = time(NULL);
+ struct tm *lt = localtime(&t);
+ this->values[0] = lt->tm_hour * 60 + lt->tm_min;
+ strftime(buffer, size, "%H:%M:%S", lt);
+}
+
MeterType ClockMeter = {
.setValues = ClockMeter_setValues,
.display = NULL,
@@ -27,10 +34,3 @@ MeterType ClockMeter = {
.uiName = "Clock",
.caption = "Time: ",
};
-
-void ClockMeter_setValues(Meter* this, char* buffer, int size) {
- time_t t = time(NULL);
- struct tm *lt = localtime(&t);
- this->values[0] = lt->tm_hour * 60 + lt->tm_min;
- strftime(buffer, size, "%H:%M:%S", lt);
-}
diff --git a/ClockMeter.h b/ClockMeter.h
index 7744e238..d38619d6 100644
--- a/ClockMeter.h
+++ b/ClockMeter.h
@@ -19,6 +19,4 @@ extern int ClockMeter_attributes[];
extern MeterType ClockMeter;
-void ClockMeter_setValues(Meter* this, char* buffer, int size);
-
#endif
diff --git a/ColorsPanel.c b/ColorsPanel.c
index 00868457..bab23fc8 100644
--- a/ColorsPanel.c
+++ b/ColorsPanel.c
@@ -37,32 +37,14 @@ static char* ColorSchemes[] = {
NULL
};
-ColorsPanel* ColorsPanel_new(Settings* settings, ScreenManager* scr) {
- ColorsPanel* this = (ColorsPanel*) malloc(sizeof(ColorsPanel));
- Panel* super = (Panel*) this;
- Panel_init(super, 1, 1, 1, 1, CHECKITEM_CLASS, true);
- ((Object*)this)->delete = ColorsPanel_delete;
-
- this->settings = settings;
- this->scr = scr;
- super->eventHandler = ColorsPanel_EventHandler;
-
- Panel_setHeader(super, "Colors");
- for (int i = 0; ColorSchemes[i] != NULL; i++) {
- Panel_add(super, (Object*) CheckItem_new(String_copy(ColorSchemes[i]), NULL, false));
- }
- CheckItem_set((CheckItem*)Panel_get(super, settings->colorScheme), true);
- return this;
-}
-
-void ColorsPanel_delete(Object* object) {
+static void ColorsPanel_delete(Object* object) {
Panel* super = (Panel*) object;
ColorsPanel* this = (ColorsPanel*) object;
Panel_done(super);
free(this);
}
-HandlerResult ColorsPanel_EventHandler(Panel* super, int ch) {
+static HandlerResult ColorsPanel_EventHandler(Panel* super, int ch) {
ColorsPanel* this = (ColorsPanel*) super;
HandlerResult result = IGNORED;
@@ -93,3 +75,20 @@ HandlerResult ColorsPanel_EventHandler(Panel* super, int ch) {
return result;
}
+ColorsPanel* ColorsPanel_new(Settings* settings, ScreenManager* scr) {
+ ColorsPanel* this = (ColorsPanel*) malloc(sizeof(ColorsPanel));
+ Panel* super = (Panel*) this;
+ Panel_init(super, 1, 1, 1, 1, CHECKITEM_CLASS, true);
+ ((Object*)this)->delete = ColorsPanel_delete;
+
+ this->settings = settings;
+ this->scr = scr;
+ super->eventHandler = ColorsPanel_EventHandler;
+
+ Panel_setHeader(super, "Colors");
+ for (int i = 0; ColorSchemes[i] != NULL; i++) {
+ Panel_add(super, (Object*) CheckItem_new(String_copy(ColorSchemes[i]), NULL, false));
+ }
+ CheckItem_set((CheckItem*)Panel_get(super, settings->colorScheme), true);
+ return this;
+}
diff --git a/ColorsPanel.h b/ColorsPanel.h
index ed60a8c6..fac99639 100644
--- a/ColorsPanel.h
+++ b/ColorsPanel.h
@@ -30,9 +30,4 @@ typedef struct ColorsPanel_ {
ColorsPanel* ColorsPanel_new(Settings* settings, ScreenManager* scr);
-void ColorsPanel_delete(Object* object);
-
-HandlerResult ColorsPanel_EventHandler(Panel* super, int ch);
-
-
#endif
diff --git a/ColumnsPanel.c b/ColumnsPanel.c
index 7a5a298b..d52178c4 100644
--- a/ColumnsPanel.c
+++ b/ColumnsPanel.c
@@ -19,57 +19,14 @@ typedef struct ColumnsPanel_ {
}*/
-ColumnsPanel* ColumnsPanel_new(Settings* settings, ScreenManager* scr) {
- ColumnsPanel* this = (ColumnsPanel*) malloc(sizeof(ColumnsPanel));
- Panel* super = (Panel*) this;
- Panel_init(super, 1, 1, 1, 1, LISTITEM_CLASS, true);
- ((Object*)this)->delete = ColumnsPanel_delete;
-
- this->settings = settings;
- this->scr = scr;
- super->eventHandler = ColumnsPanel_eventHandler;
- Panel_setHeader(super, "Active Columns");
-
- ProcessField* fields = this->settings->pl->fields;
- for (; *fields; fields++) {
- Panel_add(super, (Object*) ListItem_new(Process_fieldNames[*fields], 0));
- }
- return this;
-}
-
-void ColumnsPanel_delete(Object* object) {
+static void ColumnsPanel_delete(Object* object) {
Panel* super = (Panel*) object;
ColumnsPanel* this = (ColumnsPanel*) object;
Panel_done(super);
free(this);
}
-int ColumnsPanel_fieldNameToIndex(const char* name) {
- for (int j = 1; j <= LAST_PROCESSFIELD; j++) {
- if (String_eq(name, Process_fieldNames[j])) {
- return j;
- }
- }
- return 0;
-}
-
-void ColumnsPanel_update(Panel* super) {
- ColumnsPanel* this = (ColumnsPanel*) super;
- int size = Panel_getSize(super);
- this->settings->changed = true;
- // FIXME: this is crappily inefficient
- free(this->settings->pl->fields);
- this->settings->pl->fields = (ProcessField*) malloc(sizeof(ProcessField) * (size+1));
- for (int i = 0; i < size; i++) {
- char* text = ((ListItem*) Panel_get(super, i))->value;
- int j = ColumnsPanel_fieldNameToIndex(text);
- if (j > 0)
- this->settings->pl->fields[i] = j;
- }
- this->settings->pl->fields[size] = 0;
-}
-
-HandlerResult ColumnsPanel_eventHandler(Panel* super, int ch) {
+static HandlerResult ColumnsPanel_eventHandler(Panel* super, int ch) {
int selected = Panel_getSelectedIndex(super);
HandlerResult result = IGNORED;
@@ -108,3 +65,47 @@ HandlerResult ColumnsPanel_eventHandler(Panel* super, int ch) {
ColumnsPanel_update(super);
return result;
}
+
+ColumnsPanel* ColumnsPanel_new(Settings* settings, ScreenManager* scr) {
+ ColumnsPanel* this = (ColumnsPanel*) malloc(sizeof(ColumnsPanel));
+ Panel* super = (Panel*) this;
+ Panel_init(super, 1, 1, 1, 1, LISTITEM_CLASS, true);
+ ((Object*)this)->delete = ColumnsPanel_delete;
+
+ this->settings = settings;
+ this->scr = scr;
+ super->eventHandler = ColumnsPanel_eventHandler;
+ Panel_setHeader(super, "Active Columns");
+
+ ProcessField* fields = this->settings->pl->fields;
+ for (; *fields; fields++) {
+ Panel_add(super, (Object*) ListItem_new(Process_fieldNames[*fields], 0));
+ }
+ return this;
+}
+
+int ColumnsPanel_fieldNameToIndex(const char* name) {
+ for (int j = 1; j <= LAST_PROCESSFIELD; j++) {
+ if (String_eq(name, Process_fieldNames[j])) {
+ return j;
+ }
+ }
+ return 0;
+}
+
+void ColumnsPanel_update(Panel* super) {
+ ColumnsPanel* this = (ColumnsPanel*) super;
+ int size = Panel_getSize(super);
+ this->settings->changed = true;
+ // FIXME: this is crappily inefficient
+ free(this->settings->pl->fields);
+ this->settings->pl->fields = (ProcessField*) malloc(sizeof(ProcessField) * (size+1));
+ for (int i = 0; i < size; i++) {
+ char* text = ((ListItem*) Panel_get(super, i))->value;
+ int j = ColumnsPanel_fieldNameToIndex(text);
+ if (j > 0)
+ this->settings->pl->fields[i] = j;
+ }
+ this->settings->pl->fields[size] = 0;
+}
+
diff --git a/ColumnsPanel.h b/ColumnsPanel.h
index 2c58c8e7..a0ed16a1 100644
--- a/ColumnsPanel.h
+++ b/ColumnsPanel.h
@@ -22,12 +22,9 @@ typedef struct ColumnsPanel_ {
ColumnsPanel* ColumnsPanel_new(Settings* settings, ScreenManager* scr);
-void ColumnsPanel_delete(Object* object);
-
int ColumnsPanel_fieldNameToIndex(const char* name);
void ColumnsPanel_update(Panel* super);
-HandlerResult ColumnsPanel_eventHandler(Panel* super, int ch);
#endif
diff --git a/DisplayOptionsPanel.c b/DisplayOptionsPanel.c
index ceab53c4..f87dd044 100644
--- a/DisplayOptionsPanel.c
+++ b/DisplayOptionsPanel.c
@@ -20,37 +20,14 @@ typedef struct DisplayOptionsPanel_ {
}*/
-DisplayOptionsPanel* DisplayOptionsPanel_new(Settings* settings, ScreenManager* scr) {
- DisplayOptionsPanel* this = (DisplayOptionsPanel*) malloc(sizeof(DisplayOptionsPanel));
- Panel* super = (Panel*) this;
- Panel_init(super, 1, 1, 1, 1, CHECKITEM_CLASS, true);
- ((Object*)this)->delete = DisplayOptionsPanel_delete;
-
- this->settings = settings;
- this->scr = scr;
- super->eventHandler = DisplayOptionsPanel_eventHandler;
-
- Panel_setHeader(super, "Display options");
- Panel_add(super, (Object*) CheckItem_new(String_copy("Tree view"), &(settings->pl->treeView), false));
- Panel_add(super, (Object*) CheckItem_new(String_copy("Shadow other users' processes"), &(settings->pl->shadowOtherUsers), false));
- Panel_add(super, (Object*) CheckItem_new(String_copy("Hide kernel threads"), &(settings->pl->hideKernelThreads), false));
- Panel_add(super, (Object*) CheckItem_new(String_copy("Hide userland threads"), &(settings->pl->hideUserlandThreads), false));
- Panel_add(super, (Object*) CheckItem_new(String_copy("Display threads in a different color"), &(settings->pl->highlightThreads), false));
- Panel_add(super, (Object*) CheckItem_new(String_copy("Highlight program \"basename\""), &(settings->pl->highlightBaseName), false));
- Panel_add(super, (Object*) CheckItem_new(String_copy("Highlight megabytes in memory counters"), &(settings->pl->highlightMegabytes), false));
- Panel_add(super, (Object*) CheckItem_new(String_copy("Leave a margin around header"), &(settings->header->margin), false));
- Panel_add(super, (Object*) CheckItem_new(String_copy("Detailed CPU time (System/IO-Wait/Hard-IRQ/Soft-IRQ)"), &(settings->pl->detailedCPUTime), false));
- return this;
-}
-
-void DisplayOptionsPanel_delete(Object* object) {
+static void DisplayOptionsPanel_delete(Object* object) {
Panel* super = (Panel*) object;
DisplayOptionsPanel* this = (DisplayOptionsPanel*) object;
Panel_done(super);
free(this);
}
-HandlerResult DisplayOptionsPanel_eventHandler(Panel* super, int ch) {
+static HandlerResult DisplayOptionsPanel_eventHandler(Panel* super, int ch) {
DisplayOptionsPanel* this = (DisplayOptionsPanel*) super;
HandlerResult result = IGNORED;
@@ -75,3 +52,25 @@ HandlerResult DisplayOptionsPanel_eventHandler(Panel* super, int ch) {
return result;
}
+DisplayOptionsPanel* DisplayOptionsPanel_new(Settings* settings, ScreenManager* scr) {
+ DisplayOptionsPanel* this = (DisplayOptionsPanel*) malloc(sizeof(DisplayOptionsPanel));
+ Panel* super = (Panel*) this;
+ Panel_init(super, 1, 1, 1, 1, CHECKITEM_CLASS, true);
+ ((Object*)this)->delete = DisplayOptionsPanel_delete;
+
+ this->settings = settings;
+ this->scr = scr;
+ super->eventHandler = DisplayOptionsPanel_eventHandler;
+
+ Panel_setHeader(super, "Display options");
+ Panel_add(super, (Object*) CheckItem_new(String_copy("Tree view"), &(settings->pl->treeView), false));
+ Panel_add(super, (Object*) CheckItem_new(String_copy("Shadow other users' processes"), &(settings->pl->shadowOtherUsers), false));
+ Panel_add(super, (Object*) CheckItem_new(String_copy("Hide kernel threads"), &(settings->pl->hideKernelThreads), false));
+ Panel_add(super, (Object*) CheckItem_new(String_copy("Hide userland threads"), &(settings->pl->hideUserlandThreads), false));
+ Panel_add(super, (Object*) CheckItem_new(String_copy("Display threads in a different color"), &(settings->pl->highlightThreads), false));
+ Panel_add(super, (Object*) CheckItem_new(String_copy("Highlight program \"basename\""), &(settings->pl->highlightBaseName), false));
+ Panel_add(super, (Object*) CheckItem_new(String_copy("Highlight megabytes in memory counters"), &(settings->pl->highlightMegabytes), false));
+ Panel_add(super, (Object*) CheckItem_new(String_copy("Leave a margin around header"), &(settings->header->margin), false));
+ Panel_add(super, (Object*) CheckItem_new(String_copy("Detailed CPU time (System/IO-Wait/Hard-IRQ/Soft-IRQ)"), &(settings->pl->detailedCPUTime), false));
+ return this;
+}
diff --git a/DisplayOptionsPanel.h b/DisplayOptionsPanel.h
index 7c32b0cd..a908f53e 100644
--- a/DisplayOptionsPanel.h
+++ b/DisplayOptionsPanel.h
@@ -23,9 +23,4 @@ typedef struct DisplayOptionsPanel_ {
DisplayOptionsPanel* DisplayOptionsPanel_new(Settings* settings, ScreenManager* scr);
-void DisplayOptionsPanel_delete(Object* object);
-
-HandlerResult DisplayOptionsPanel_eventHandler(Panel* super, int ch);
-
-
#endif
diff --git a/Hashtable.c b/Hashtable.c
index cfd14704..057518cc 100644
--- a/Hashtable.c
+++ b/Hashtable.c
@@ -34,7 +34,7 @@ struct Hashtable_ {
#ifdef DEBUG
-bool Hashtable_isConsistent(Hashtable* this) {
+static bool Hashtable_isConsistent(Hashtable* this) {
int items = 0;
for (int i = 0; i < this->size; i++) {
HashtableItem* bucket = this->buckets[i];
@@ -61,7 +61,7 @@ int Hashtable_count(Hashtable* this) {
#endif
-HashtableItem* HashtableItem_new(unsigned int key, void* value) {
+static HashtableItem* HashtableItem_new(unsigned int key, void* value) {
HashtableItem* this;
this = (HashtableItem*) malloc(sizeof(HashtableItem));
@@ -99,11 +99,6 @@ void Hashtable_delete(Hashtable* this) {
free(this);
}
-inline int Hashtable_size(Hashtable* this) {
- assert(Hashtable_isConsistent(this));
- return this->items;
-}
-
void Hashtable_put(Hashtable* this, unsigned int key, void* value) {
unsigned int index = key % this->size;
HashtableItem** bucketPtr = &(this->buckets[index]);
diff --git a/Hashtable.h b/Hashtable.h
index 4abd1333..8dd6da48 100644
--- a/Hashtable.h
+++ b/Hashtable.h
@@ -35,20 +35,14 @@ struct Hashtable_ {
#ifdef DEBUG
-bool Hashtable_isConsistent(Hashtable* this);
-
int Hashtable_count(Hashtable* this);
#endif
-HashtableItem* HashtableItem_new(unsigned int key, void* value);
-
Hashtable* Hashtable_new(int size, bool owner);
void Hashtable_delete(Hashtable* this);
-extern int Hashtable_size(Hashtable* this);
-
void Hashtable_put(Hashtable* this, unsigned int key, void* value);
void* Hashtable_remove(Hashtable* this, unsigned int key);
diff --git a/ListItem.c b/ListItem.c
index 90107e4b..05754ac6 100644
--- a/ListItem.c
+++ b/ListItem.c
@@ -29,6 +29,21 @@ char* LISTITEM_CLASS = "ListItem";
#define LISTITEM_CLASS NULL
#endif
+static void ListItem_delete(Object* cast) {
+ ListItem* this = (ListItem*)cast;
+ free(this->value);
+ free(this);
+}
+
+static void ListItem_display(Object* cast, RichString* out) {
+ ListItem* this = (ListItem*)cast;
+ assert (this != NULL);
+ int len = strlen(this->value)+1;
+ char buffer[len+1];
+ snprintf(buffer, len, "%s", this->value);
+ RichString_write(out, CRT_colors[DEFAULT_COLOR], buffer);
+}
+
ListItem* ListItem_new(char* value, int key) {
ListItem* this = malloc(sizeof(ListItem));
Object_setClass(this, LISTITEM_CLASS);
@@ -46,21 +61,6 @@ void ListItem_append(ListItem* this, char* text) {
this->value = buf;
}
-void ListItem_delete(Object* cast) {
- ListItem* this = (ListItem*)cast;
- free(this->value);
- free(this);
-}
-
-void ListItem_display(Object* cast, RichString* out) {
- ListItem* this = (ListItem*)cast;
- assert (this != NULL);
- int len = strlen(this->value)+1;
- char buffer[len+1];
- snprintf(buffer, len, "%s", this->value);
- RichString_write(out, CRT_colors[DEFAULT_COLOR], buffer);
-}
-
const char* ListItem_getRef(ListItem* this) {
return this->value;
}
diff --git a/ListItem.h b/ListItem.h
index a58db3a3..9597a358 100644
--- a/ListItem.h
+++ b/ListItem.h
@@ -34,10 +34,6 @@ ListItem* ListItem_new(char* value, int key);
void ListItem_append(ListItem* this, char* text);
-void ListItem_delete(Object* cast);
-
-void ListItem_display(Object* cast, RichString* out);
-
const char* ListItem_getRef(ListItem* this);
int ListItem_compare(const void* cast1, const void* cast2);
diff --git a/LoadAverageMeter.c b/LoadAverageMeter.c
index ab06bebd..b692b9f6 100644
--- a/LoadAverageMeter.c
+++ b/LoadAverageMeter.c
@@ -16,32 +16,8 @@ int LoadAverageMeter_attributes[] = {
LOAD_AVERAGE_FIFTEEN, LOAD_AVERAGE_FIVE, LOAD_AVERAGE_ONE
};
-MeterType LoadAverageMeter = {
- .setValues = LoadAverageMeter_setValues,
- .display = LoadAverageMeter_display,
- .mode = TEXT_METERMODE,
- .items = 3,
- .total = 100.0,
- .attributes = LoadAverageMeter_attributes,
- .name = "LoadAverage",
- .uiName = "Load average",
- .caption = "Load average: "
-};
-
int LoadMeter_attributes[] = { LOAD };
-MeterType LoadMeter = {
- .setValues = LoadMeter_setValues,
- .display = LoadMeter_display,
- .mode = TEXT_METERMODE,
- .items = 1,
- .total = 100.0,
- .attributes = LoadMeter_attributes,
- .name = "Load",
- .uiName = "Load",
- .caption = "Load: "
-};
-
static inline void LoadAverageMeter_scan(double* one, double* five, double* fifteen) {
int activeProcs, totalProcs, lastProc;
FILE *fd = fopen(PROCDIR "/loadavg", "r");
@@ -52,12 +28,12 @@ static inline void LoadAverageMeter_scan(double* one, double* five, double* fift
fclose(fd);
}
-void LoadAverageMeter_setValues(Meter* this, char* buffer, int size) {
+static void LoadAverageMeter_setValues(Meter* this, char* buffer, int size) {
LoadAverageMeter_scan(&this->values[2], &this->values[1], &this->values[0]);
snprintf(buffer, size, "%.2f/%.2f/%.2f", this->values[2], this->values[1], this->values[0]);
}
-void LoadAverageMeter_display(Object* cast, RichString* out) {
+static void LoadAverageMeter_display(Object* cast, RichString* out) {
Meter* this = (Meter*)cast;
char buffer[20];
RichString_init(out);
@@ -69,7 +45,7 @@ void LoadAverageMeter_display(Object* cast, RichString* out) {
RichString_append(out, CRT_colors[LOAD_AVERAGE_ONE], buffer);
}
-void LoadMeter_setValues(Meter* this, char* buffer, int size) {
+static void LoadMeter_setValues(Meter* this, char* buffer, int size) {
double five, fifteen;
LoadAverageMeter_scan(&this->values[0], &five, &fifteen);
if (this->values[0] > this->total) {
@@ -78,10 +54,34 @@ void LoadMeter_setValues(Meter* this, char* buffer, int size) {
snprintf(buffer, size, "%.2f", this->values[0]);
}
-void LoadMeter_display(Object* cast, RichString* out) {
+static void LoadMeter_display(Object* cast, RichString* out) {
Meter* this = (Meter*)cast;
char buffer[20];
RichString_init(out);
sprintf(buffer, "%.2f ", ((Meter*)this)->values[0]);
RichString_append(out, CRT_colors[LOAD], buffer);
}
+
+MeterType LoadAverageMeter = {
+ .setValues = LoadAverageMeter_setValues,
+ .display = LoadAverageMeter_display,
+ .mode = TEXT_METERMODE,
+ .items = 3,
+ .total = 100.0,
+ .attributes = LoadAverageMeter_attributes,
+ .name = "LoadAverage",
+ .uiName = "Load average",
+ .caption = "Load average: "
+};
+
+MeterType LoadMeter = {
+ .setValues = LoadMeter_setValues,
+ .display = LoadMeter_display,
+ .mode = TEXT_METERMODE,
+ .items = 1,
+ .total = 100.0,
+ .attributes = LoadMeter_attributes,
+ .name = "Load",
+ .uiName = "Load",
+ .caption = "Load: "
+};
diff --git a/LoadAverageMeter.h b/LoadAverageMeter.h
index 31b0d59e..770a0dfc 100644
--- a/LoadAverageMeter.h
+++ b/LoadAverageMeter.h
@@ -17,18 +17,10 @@ in the source distribution for its full text.
extern int LoadAverageMeter_attributes[];
-extern MeterType LoadAverageMeter;
-
extern int LoadMeter_attributes[];
-extern MeterType LoadMeter;
-
-void LoadAverageMeter_setValues(Meter* this, char* buffer, int size);
-
-void LoadAverageMeter_display(Object* cast, RichString* out);
-
-void LoadMeter_setValues(Meter* this, char* buffer, int size);
+extern MeterType LoadAverageMeter;
-void LoadMeter_display(Object* cast, RichString* out);
+extern MeterType LoadMeter;
#endif
diff --git a/MemoryMeter.c b/MemoryMeter.c
index 617fc521..43215eba 100644
--- a/MemoryMeter.c
+++ b/MemoryMeter.c
@@ -23,19 +23,7 @@ int MemoryMeter_attributes[] = {
MEMORY_USED, MEMORY_BUFFERS, MEMORY_CACHE
};
-MeterType MemoryMeter = {
- .setValues = MemoryMeter_setValues,
- .display = MemoryMeter_display,
- .mode = BAR_METERMODE,
- .items = 3,
- .total = 100.0,
- .attributes = MemoryMeter_attributes,
- "Memory",
- "Memory",
- "Mem"
-};
-
-void MemoryMeter_setValues(Meter* this, char* buffer, int size) {
+static void MemoryMeter_setValues(Meter* this, char* buffer, int size) {
long int usedMem = this->pl->usedMem;
long int buffersMem = this->pl->buffersMem;
long int cachedMem = this->pl->cachedMem;
@@ -47,7 +35,7 @@ void MemoryMeter_setValues(Meter* this, char* buffer, int size) {
snprintf(buffer, size, "%ld/%ldMB", (long int) usedMem / 1024, (long int) this->total / 1024);
}
-void MemoryMeter_display(Object* cast, RichString* out) {
+static void MemoryMeter_display(Object* cast, RichString* out) {
char buffer[50];
Meter* this = (Meter*)cast;
int div = 1024; char* format = "%ldM ";
@@ -69,3 +57,15 @@ void MemoryMeter_display(Object* cast, RichString* out) {
RichString_append(out, CRT_colors[METER_TEXT], "cache:");
RichString_append(out, CRT_colors[MEMORY_CACHE], buffer);
}
+
+MeterType MemoryMeter = {
+ .setValues = MemoryMeter_setValues,
+ .display = MemoryMeter_display,
+ .mode = BAR_METERMODE,
+ .items = 3,
+ .total = 100.0,
+ .attributes = MemoryMeter_attributes,
+ "Memory",
+ "Memory",
+ "Mem"
+};
diff --git a/MemoryMeter.h b/MemoryMeter.h
index 4a48526d..176e8b96 100644
--- a/MemoryMeter.h
+++ b/MemoryMeter.h
@@ -26,8 +26,4 @@ extern int MemoryMeter_attributes[];
extern MeterType MemoryMeter;
-void MemoryMeter_setValues(Meter* this, char* buffer, int size);
-
-void MemoryMeter_display(Object* cast, RichString* out);
-
#endif
diff --git a/Meter.c b/Meter.c
index fb7d8425..7ed241d0 100644
--- a/Meter.c
+++ b/Meter.c
@@ -124,45 +124,6 @@ MeterType* Meter_types[] = {
NULL
};
-static MeterMode BarMeterMode = {
- .uiName = "Bar",
- .h = 1,
- .draw = BarMeterMode_draw,
-};
-
-static MeterMode TextMeterMode = {
- .uiName = "Text",
- .h = 1,
- .draw = TextMeterMode_draw,
-};
-
-#ifdef USE_FUNKY_MODES
-
-static MeterMode GraphMeterMode = {
- .uiName = "Graph",
- .h = 3,
- .draw = GraphMeterMode_draw,
-};
-
-static MeterMode LEDMeterMode = {
- .uiName = "LED",
- .h = 3,
- .draw = LEDMeterMode_draw,
-};
-
-#endif
-
-MeterMode* Meter_modes[] = {
- NULL,
- &BarMeterMode,
- &TextMeterMode,
-#ifdef USE_FUNKY_MODES
- &GraphMeterMode,
- &LEDMeterMode,
-#endif
- NULL
-};
-
static RichString Meter_stringBuffer;
Meter* Meter_new(ProcessList* pl, int param, MeterType* type) {
@@ -254,7 +215,7 @@ ListItem* Meter_toListItem(Meter* this) {
/* ---------- TextMeterMode ---------- */
-void TextMeterMode_draw(Meter* this, int x, int y, int w) {
+static void TextMeterMode_draw(Meter* this, int x, int y, int w) {
MeterType* type = this->type;
char buffer[METER_BUFFER_LEN];
type->setValues(this, buffer, METER_BUFFER_LEN - 1);
@@ -274,7 +235,7 @@ void TextMeterMode_draw(Meter* this, int x, int y, int w) {
static char BarMeterMode_characters[] = "|#*@$%&";
-void BarMeterMode_draw(Meter* this, int x, int y, int w) {
+static void BarMeterMode_draw(Meter* this, int x, int y, int w) {
MeterType* type = this->type;
char buffer[METER_BUFFER_LEN];
type->setValues(this, buffer, METER_BUFFER_LEN - 1);
@@ -362,7 +323,7 @@ static int GraphMeterMode_colors[21] = {
static char* GraphMeterMode_characters = "^`'-.,_~'`-.,_~'`-.,_";
-void GraphMeterMode_draw(Meter* this, int x, int y, int w) {
+static void GraphMeterMode_draw(Meter* this, int x, int y, int w) {
if (!this->drawBuffer) this->drawBuffer = calloc(sizeof(double), METER_BUFFER_LEN);
double* drawBuffer = (double*) this->drawBuffer;
@@ -408,7 +369,7 @@ static void LEDMeterMode_drawDigit(int x, int y, int n) {
mvaddstr(y+i, x, LEDMeterMode_digits[i][n]);
}
-void LEDMeterMode_draw(Meter* this, int x, int y, int w) {
+static void LEDMeterMode_draw(Meter* this, int x, int y, int w) {
MeterType* type = this->type;
char buffer[METER_BUFFER_LEN];
type->setValues(this, buffer, METER_BUFFER_LEN - 1);
@@ -432,3 +393,42 @@ void LEDMeterMode_draw(Meter* this, int x, int y, int w) {
}
#endif
+
+static MeterMode BarMeterMode = {
+ .uiName = "Bar",
+ .h = 1,
+ .draw = BarMeterMode_draw,
+};
+
+static MeterMode TextMeterMode = {
+ .uiName = "Text",
+ .h = 1,
+ .draw = TextMeterMode_draw,
+};
+
+#ifdef USE_FUNKY_MODES
+
+static MeterMode GraphMeterMode = {
+ .uiName = "Graph",
+ .h = 3,
+ .draw = GraphMeterMode_draw,
+};
+
+static MeterMode LEDMeterMode = {
+ .uiName = "LED",
+ .h = 3,
+ .draw = LEDMeterMode_draw,
+};
+
+#endif
+
+MeterMode* Meter_modes[] = {
+ NULL,
+ &BarMeterMode,
+ &TextMeterMode,
+#ifdef USE_FUNKY_MODES
+ &GraphMeterMode,
+ &LEDMeterMode,
+#endif
+ NULL
+};
diff --git a/Meter.h b/Meter.h
index 8099a8ec..f05791bb 100644
--- a/Meter.h
+++ b/Meter.h
@@ -114,12 +114,6 @@ extern char* METER_CLASS;
extern MeterType* Meter_types[];
-#ifdef USE_FUNKY_MODES
-
-#endif
-
-extern MeterMode* Meter_modes[];
-
Meter* Meter_new(ProcessList* pl, int param, MeterType* type);
void Meter_delete(Object* cast);
@@ -132,24 +126,22 @@ ListItem* Meter_toListItem(Meter* this);
/* ---------- TextMeterMode ---------- */
-void TextMeterMode_draw(Meter* this, int x, int y, int w);
-
/* ---------- BarMeterMode ---------- */
-void BarMeterMode_draw(Meter* this, int x, int y, int w);
-
#ifdef USE_FUNKY_MODES
/* ---------- GraphMeterMode ---------- */
#define DrawDot(a,y,c) do { attrset(a); mvaddch(y, x+k, c); } while(0)
-void GraphMeterMode_draw(Meter* this, int x, int y, int w);
-
/* ---------- LEDMeterMode ---------- */
-void LEDMeterMode_draw(Meter* this, int x, int y, int w);
+#endif
+
+#ifdef USE_FUNKY_MODES
#endif
+extern MeterMode* Meter_modes[];
+
#endif
diff --git a/MetersPanel.c b/MetersPanel.c
index b87f5101..549d8fed 100644
--- a/MetersPanel.c
+++ b/MetersPanel.c
@@ -20,32 +20,14 @@ typedef struct MetersPanel_ {
}*/
-MetersPanel* MetersPanel_new(Settings* settings, char* header, Vector* meters, ScreenManager* scr) {
- MetersPanel* this = (MetersPanel*) malloc(sizeof(MetersPanel));
- Panel* super = (Panel*) this;
- Panel_init(super, 1, 1, 1, 1, LISTITEM_CLASS, true);
- ((Object*)this)->delete = MetersPanel_delete;
-
- this->settings = settings;
- this->meters = meters;
- this->scr = scr;
- super->eventHandler = MetersPanel_EventHandler;
- Panel_setHeader(super, header);
- for (int i = 0; i < Vector_size(meters); i++) {
- Meter* meter = (Meter*) Vector_get(meters, i);
- Panel_add(super, (Object*) Meter_toListItem(meter));
- }
- return this;
-}
-
-void MetersPanel_delete(Object* object) {
+static void MetersPanel_delete(Object* object) {
Panel* super = (Panel*) object;
MetersPanel* this = (MetersPanel*) object;
Panel_done(super);
free(this);
}
-HandlerResult MetersPanel_EventHandler(Panel* super, int ch) {
+static HandlerResult MetersPanel_EventHandler(Panel* super, int ch) {
MetersPanel* this = (MetersPanel*) super;
int selected = Panel_getSelectedIndex(super);
@@ -103,3 +85,21 @@ HandlerResult MetersPanel_EventHandler(Panel* super, int ch) {
}
return result;
}
+
+MetersPanel* MetersPanel_new(Settings* settings, char* header, Vector* meters, ScreenManager* scr) {
+ MetersPanel* this = (MetersPanel*) malloc(sizeof(MetersPanel));
+ Panel* super = (Panel*) this;
+ Panel_init(super, 1, 1, 1, 1, LISTITEM_CLASS, true);
+ ((Object*)this)->delete = MetersPanel_delete;
+
+ this->settings = settings;
+ this->meters = meters;
+ this->scr = scr;
+ super->eventHandler = MetersPanel_EventHandler;
+ Panel_setHeader(super, header);
+ for (int i = 0; i < Vector_size(meters); i++) {
+ Meter* meter = (Meter*) Vector_get(meters, i);
+ Panel_add(super, (Object*) Meter_toListItem(meter));
+ }
+ return this;
+}
diff --git a/MetersPanel.h b/MetersPanel.h
index 8f14e259..674cf391 100644
--- a/MetersPanel.h
+++ b/MetersPanel.h
@@ -23,8 +23,4 @@ typedef struct MetersPanel_ {
MetersPanel* MetersPanel_new(Settings* settings, char* header, Vector* meters, ScreenManager* scr);
-void MetersPanel_delete(Object* object);
-
-HandlerResult MetersPanel_EventHandler(Panel* super, int ch);
-
#endif
diff --git a/Object.c b/Object.c
index 15b9a6ec..ac27de03 100644
--- a/Object.c
+++ b/Object.c
@@ -48,7 +48,7 @@ void Object_setClass(void* this, char* class) {
((Object*)this)->class = class;
}
-void Object_display(Object* this, RichString* out) {
+static void Object_display(Object* this, RichString* out) {
char objAddress[50];
sprintf(objAddress, "%s @ %p", this->class, (void*) this);
RichString_write(out, CRT_colors[DEFAULT_COLOR], objAddress);
diff --git a/Object.h b/Object.h
index f8a8c6d2..32e28aa1 100644
--- a/Object.h
+++ b/Object.h
@@ -47,8 +47,6 @@ extern char* OBJECT_CLASS;
void Object_setClass(void* this, char* class);
-void Object_display(Object* this, RichString* out);
-
#endif
#endif
diff --git a/Process.c b/Process.c
index 95bfbade..adb89795 100644
--- a/Process.c
+++ b/Process.c
@@ -160,91 +160,6 @@ char *Process_fieldNames[] = {
static int Process_getuid = -1;
-Process* Process_new(struct ProcessList_ *pl) {
- Process* this = calloc(sizeof(Process), 1);
- Object_setClass(this, PROCESS_CLASS);
- ((Object*)this)->display = Process_display;
- ((Object*)this)->delete = Process_delete;
- this->pid = 0;
- this->pl = pl;
- this->tag = false;
- this->updated = false;
- this->utime = 0;
- this->stime = 0;
- this->comm = NULL;
- this->indent = 0;
- if (Process_getuid == -1) Process_getuid = getuid();
- return this;
-}
-
-Process* Process_clone(Process* this) {
- Process* clone = malloc(sizeof(Process));
- #if HAVE_TASKSTATS
- this->io_rchar = 0;
- this->io_wchar = 0;
- this->io_syscr = 0;
- this->io_syscw = 0;
- this->io_read_bytes = 0;
- this->io_rate_read_bps = 0;
- this->io_rate_read_time = 0;
- this->io_write_bytes = 0;
- this->io_rate_write_bps = 0;
- this->io_rate_write_time = 0;
- this->io_cancelled_write_bytes = 0;
- #endif
- memcpy(clone, this, sizeof(Process));
- this->comm = NULL;
- this->pid = 0;
- return clone;
-}
-
-void Process_delete(Object* cast) {
- Process* this = (Process*) cast;
- assert (this != NULL);
- if (this->comm) free(this->comm);
- free(this);
-}
-
-void Process_display(Object* cast, RichString* out) {
- Process* this = (Process*) cast;
- ProcessField* fields = this->pl->fields;
- RichString_init(out);
- for (int i = 0; fields[i]; i++)
- Process_writeField(this, out, fields[i]);
- if (this->pl->shadowOtherUsers && this->st_uid != Process_getuid)
- RichString_setAttr(out, CRT_colors[PROCESS_SHADOW]);
- if (this->tag == true)
- RichString_setAttr(out, CRT_colors[PROCESS_TAG]);
- assert(out->len > 0);
-}
-
-void Process_toggleTag(Process* this) {
- this->tag = this->tag == true ? false : true;
-}
-
-bool Process_setPriority(Process* this, int priority) {
- int old_prio = getpriority(PRIO_PROCESS, this->pid);
- int err = setpriority(PRIO_PROCESS, this->pid, priority);
- if (err == 0 && old_prio != getpriority(PRIO_PROCESS, this->pid)) {
- this->nice = priority;
- }
- return (err == 0);
-}
-
-unsigned long Process_getAffinity(Process* this) {
- unsigned long mask = 0;
- plpa_sched_getaffinity(this->pid, sizeof(unsigned long), (plpa_cpu_set_t*) &mask);
- return mask;
-}
-
-bool Process_setAffinity(Process* this, unsigned long mask) {
- return (plpa_sched_setaffinity(this->pid, sizeof(unsigned long), (plpa_cpu_set_t*) &mask) == 0);
-}
-
-void Process_sendSignal(Process* this, int signal) {
- kill(this->pid, signal);
-}
-
#define ONE_K 1024
#define ONE_M (ONE_K * ONE_K)
#define ONE_G (ONE_M * ONE_K)
@@ -315,7 +230,7 @@ static inline void Process_writeCommand(Process* this, int attr, int baseattr, R
}
}
-void Process_writeField(Process* this, RichString* str, ProcessField field) {
+static void Process_writeField(Process* this, RichString* str, ProcessField field) {
char buffer[PROCESS_COMM_LEN];
int attr = CRT_colors[DEFAULT_COLOR];
int baseattr = CRT_colors[PROCESS_BASENAME];
@@ -450,6 +365,91 @@ void Process_writeField(Process* this, RichString* str, ProcessField field) {
RichString_append(str, attr, buffer);
}
+static void Process_display(Object* cast, RichString* out) {
+ Process* this = (Process*) cast;
+ ProcessField* fields = this->pl->fields;
+ RichString_init(out);
+ for (int i = 0; fields[i]; i++)
+ Process_writeField(this, out, fields[i]);
+ if (this->pl->shadowOtherUsers && this->st_uid != Process_getuid)
+ RichString_setAttr(out, CRT_colors[PROCESS_SHADOW]);
+ if (this->tag == true)
+ RichString_setAttr(out, CRT_colors[PROCESS_TAG]);
+ assert(out->len > 0);
+}
+
+void Process_delete(Object* cast) {
+ Process* this = (Process*) cast;
+ assert (this != NULL);
+ if (this->comm) free(this->comm);
+ free(this);
+}
+
+Process* Process_new(struct ProcessList_ *pl) {
+ Process* this = calloc(sizeof(Process), 1);
+ Object_setClass(this, PROCESS_CLASS);
+ ((Object*)this)->display = Process_display;
+ ((Object*)this)->delete = Process_delete;
+ this->pid = 0;
+ this->pl = pl;
+ this->tag = false;
+ this->updated = false;
+ this->utime = 0;
+ this->stime = 0;
+ this->comm = NULL;
+ this->indent = 0;
+ if (Process_getuid == -1) Process_getuid = getuid();
+ return this;
+}
+
+Process* Process_clone(Process* this) {
+ Process* clone = malloc(sizeof(Process));
+ #if HAVE_TASKSTATS
+ this->io_rchar = 0;
+ this->io_wchar = 0;
+ this->io_syscr = 0;
+ this->io_syscw = 0;
+ this->io_read_bytes = 0;
+ this->io_rate_read_bps = 0;
+ this->io_rate_read_time = 0;
+ this->io_write_bytes = 0;
+ this->io_rate_write_bps = 0;
+ this->io_rate_write_time = 0;
+ this->io_cancelled_write_bytes = 0;
+ #endif
+ memcpy(clone, this, sizeof(Process));
+ this->comm = NULL;
+ this->pid = 0;
+ return clone;
+}
+
+void Process_toggleTag(Process* this) {
+ this->tag = this->tag == true ? false : true;
+}
+
+bool Process_setPriority(Process* this, int priority) {
+ int old_prio = getpriority(PRIO_PROCESS, this->pid);
+ int err = setpriority(PRIO_PROCESS, this->pid, priority);
+ if (err == 0 && old_prio != getpriority(PRIO_PROCESS, this->pid)) {
+ this->nice = priority;
+ }
+ return (err == 0);
+}
+
+unsigned long Process_getAffinity(Process* this) {
+ unsigned long mask = 0;
+ plpa_sched_getaffinity(this->pid, sizeof(unsigned long), (plpa_cpu_set_t*) &mask);
+ return mask;
+}
+
+bool Process_setAffinity(Process* this, unsigned long mask) {
+ return (plpa_sched_setaffinity(this->pid, sizeof(unsigned long), (plpa_cpu_set_t*) &mask) == 0);
+}
+
+void Process_sendSignal(Process* this, int signal) {
+ kill(this->pid, signal);
+}
+
int Process_pidCompare(const void* v1, const void* v2) {
Process* p1 = (Process*)v1;
Process* p2 = (Process*)v2;
diff --git a/Process.h b/Process.h
index 57133380..ddb56a59 100644
--- a/Process.h
+++ b/Process.h
@@ -150,13 +150,15 @@ extern char* PROCESS_CLASS;
extern char *Process_fieldNames[];
-Process* Process_new(struct ProcessList_ *pl);
-
-Process* Process_clone(Process* this);
+#define ONE_K 1024
+#define ONE_M (ONE_K * ONE_K)
+#define ONE_G (ONE_M * ONE_K)
void Process_delete(Object* cast);
-void Process_display(Object* cast, RichString* out);
+Process* Process_new(struct ProcessList_ *pl);
+
+Process* Process_clone(Process* this);
void Process_toggleTag(Process* this);
@@ -168,12 +170,6 @@ bool Process_setAffinity(Process* this, unsigned long mask);
void Process_sendSignal(Process* this, int signal);
-#define ONE_K 1024
-#define ONE_M (ONE_K * ONE_K)
-#define ONE_G (ONE_M * ONE_K)
-
-void Process_writeField(Process* this, RichString* str, ProcessField field);
-
int Process_pidCompare(const void* v1, const void* v2);
int Process_compare(const void* v1, const void* v2);
diff --git a/ProcessList.c b/ProcessList.c
index e0d0939c..df11050b 100644
--- a/ProcessList.c
+++ b/ProcessList.c
@@ -295,12 +295,7 @@ RichString ProcessList_printHeader(ProcessList* this) {
return out;
}
-
-void ProcessList_prune(ProcessList* this) {
- Vector_prune(this->processes);
-}
-
-void ProcessList_add(ProcessList* this, Process* p) {
+static void ProcessList_add(ProcessList* this, Process* p) {
assert(Vector_indexOf(this->processes, p, Process_pidCompare) == -1);
assert(Hashtable_get(this->processTable, p->pid) == NULL);
Vector_add(this->processes, p);
@@ -310,7 +305,7 @@ void ProcessList_add(ProcessList* this, Process* p) {
assert(Hashtable_count(this->processTable) == Vector_count(this->processes));
}
-void ProcessList_remove(ProcessList* this, Process* p) {
+static void ProcessList_remove(ProcessList* this, Process* p) {
assert(Vector_indexOf(this->processes, p, Process_pidCompare) != -1);
assert(Hashtable_get(this->processTable, p->pid) != NULL);
Process* pp = Hashtable_remove(this->processTable, p->pid);
@@ -462,34 +457,10 @@ static int ProcessList_readStatFile(ProcessList* this, Process *proc, FILE *f, c
return 1;
}
-bool ProcessList_readStatusFile(ProcessList* this, Process* proc, char* dirname, char* name) {
+static bool ProcessList_readStatusFile(ProcessList* this, Process* proc, char* dirname, char* name) {
char statusfilename[MAX_NAME+1];
statusfilename[MAX_NAME] = '\0';
- bool success = false;
- char buffer[256];
- buffer[255] = '\0';
-
- // We need to parse the status file just for tgid, which is missing in stat.
- snprintf(statusfilename, MAX_NAME, "%s/%s/status", dirname, name);
- FILE* status = ProcessList_fopen(this, statusfilename, "r");
- if (status) {
- while (!feof(status)) {
- char* ok = fgets(buffer, 255, status);
- if (!ok)
- break;
- if (String_startsWith(buffer, "Tgid:")) {
- int tgid;
- int ok = ProcessList_read(this, buffer, "Tgid:\t%d", &tgid);
- if (ok >= 1) {
- proc->tgid = tgid;
- success = true;
- }
- break;
- }
- }
- fclose(status);
- }
snprintf(statusfilename, MAX_NAME, "%s/%s", dirname, name);
struct stat sstat;
int statok = stat(statusfilename, &sstat);
@@ -500,20 +471,19 @@ bool ProcessList_readStatusFile(ProcessList* this, Process* proc, char* dirname,
}
#ifdef HAVE_TASKSTATS
-void ProcessList_readIoFile(ProcessList* this, Process* proc, char* dirname, char* name) {
+
+static void ProcessList_readIoFile(ProcessList* this, Process* proc, char* dirname, char* name) {
char iofilename[MAX_NAME+1];
iofilename[MAX_NAME] = '\0';
- char buffer[256];
- buffer[255] = '\0';
-
snprintf(iofilename, MAX_NAME, "%s/%s/io", dirname, name);
FILE* io = ProcessList_fopen(this, iofilename, "r");
if (io) {
+ char buffer[256];
+ buffer[255] = '\0';
struct timeval tv;
gettimeofday(&tv,NULL);
unsigned long long now = tv.tv_sec*1000+tv.tv_usec/1000;
-
unsigned long long last_read = proc->io_read_bytes;
unsigned long long last_write = proc->io_write_bytes;
while (!feof(io)) {
@@ -541,9 +511,10 @@ void ProcessList_readIoFile(ProcessList* this, Process* proc, char* dirname, cha
fclose(io);
}
}
+
#endif
-bool ProcessList_processEntries(ProcessList* this, char* dirname, Process* parent, float period) {
+static bool ProcessList_processEntries(ProcessList* this, char* dirname, Process* parent, float period) {
DIR* dir;
struct dirent* entry;
Process* prototype = this->prototype;
@@ -590,6 +561,9 @@ bool ProcessList_processEntries(ProcessList* this, char* dirname, Process* paren
process->pid = pid;
}
}
+ if (parent) {
+ process->tgid = parent->pid;
+ }
#ifdef HAVE_TASKSTATS
ProcessList_readIoFile(this, process, dirname, name);
diff --git a/ProcessList.h b/ProcessList.h
index a13d3998..04334d09 100644
--- a/ProcessList.h
+++ b/ProcessList.h
@@ -150,26 +150,15 @@ void ProcessList_invertSortOrder(ProcessList* this);
RichString ProcessList_printHeader(ProcessList* this);
-
-void ProcessList_prune(ProcessList* this);
-
-void ProcessList_add(ProcessList* this, Process* p);
-
-void ProcessList_remove(ProcessList* this, Process* p);
-
Process* ProcessList_get(ProcessList* this, int index);
int ProcessList_size(ProcessList* this);
void ProcessList_sort(ProcessList* this);
-bool ProcessList_readStatusFile(ProcessList* this, Process* proc, char* dirname, char* name);
-
#ifdef HAVE_TASKSTATS
-void ProcessList_readIoFile(ProcessList* this, Process* proc, char* dirname, char* name);
-#endif
-bool ProcessList_processEntries(ProcessList* this, char* dirname, Process* parent, float period);
+#endif
void ProcessList_scan(ProcessList* this);
diff --git a/ScreenManager.c b/ScreenManager.c
index 8e88e28d..fcf8dbe9 100644
--- a/ScreenManager.c
+++ b/ScreenManager.c
@@ -98,12 +98,6 @@ Panel* ScreenManager_remove(ScreenManager* this, int index) {
return panel;
}
-void ScreenManager_setFunctionBar(ScreenManager* this, FunctionBar* fuBar) {
- if (this->owner && this->fuBar)
- FunctionBar_delete((Object*)this->fuBar);
- this->fuBar = fuBar;
-}
-
void ScreenManager_resize(ScreenManager* this, int x1, int y1, int x2, int y2) {
this->x1 = x1;
this->y1 = y1;
diff --git a/ScreenManager.h b/ScreenManager.h
index 898da2f2..699aa0c3 100644
--- a/ScreenManager.h
+++ b/ScreenManager.h
@@ -49,8 +49,6 @@ void ScreenManager_add(ScreenManager* this, Panel* item, FunctionBar* fuBar, int
Panel* ScreenManager_remove(ScreenManager* this, int index);
-void ScreenManager_setFunctionBar(ScreenManager* this, FunctionBar* fuBar);
-
void ScreenManager_resize(ScreenManager* this, int x1, int y1, int x2, int y2);
void ScreenManager_run(ScreenManager* this, Panel** lastFocus, int* lastKey);
diff --git a/Settings.c b/Settings.c
index 380bcc76..f062986c 100644
--- a/Settings.c
+++ b/Settings.c
@@ -27,40 +27,6 @@ typedef struct Settings_ {
}*/
-Settings* Settings_new(ProcessList* pl, Header* header) {
- Settings* this = malloc(sizeof(Settings));
- this->pl = pl;
- this->header = header;
- char* home;
- char* rcfile;
- home = getenv("HOME_ETC");
- if (!home) home = getenv("HOME");
- if (!home) home = "";
- rcfile = getenv("HOMERC");
- if (!rcfile)
- this->userSettings = String_cat(home, "/.htoprc");
- else
- this->userSettings = String_copy(rcfile);
- this->colorScheme = 0;
- this->changed = false;
- this->delay = DEFAULT_DELAY;
- bool ok = Settings_read(this, this->userSettings);
- if (!ok) {
- this->changed = true;
- // TODO: how to get SYSCONFDIR correctly through Autoconf?
- char* systemSettings = String_cat(SYSCONFDIR, "/htoprc");
- ok = Settings_read(this, systemSettings);
- free(systemSettings);
- if (!ok) {
- Header_defaultMeters(this->header);
- pl->hideKernelThreads = true;
- pl->highlightMegabytes = true;
- pl->highlightThreads = false;
- }
- }
- return this;
-}
-
void Settings_delete(Settings* this) {
free(this->userSettings);
free(this);
@@ -89,7 +55,7 @@ static void Settings_readMeterModes(Settings* this, char* line, HeaderSide side)
String_freeArray(ids);
}
-bool Settings_read(Settings* this, char* fileName) {
+static bool Settings_read(Settings* this, char* fileName) {
// TODO: implement File object and make
// file I/O object-oriented.
FILE* fd;
@@ -232,3 +198,37 @@ bool Settings_write(Settings* this) {
fclose(fd);
return true;
}
+
+Settings* Settings_new(ProcessList* pl, Header* header) {
+ Settings* this = malloc(sizeof(Settings));
+ this->pl = pl;
+ this->header = header;
+ char* home;
+ char* rcfile;
+ home = getenv("HOME_ETC");
+ if (!home) home = getenv("HOME");
+ if (!home) home = "";
+ rcfile = getenv("HOMERC");
+ if (!rcfile)
+ this->userSettings = String_cat(home, "/.htoprc");
+ else
+ this->userSettings = String_copy(rcfile);
+ this->colorScheme = 0;
+ this->changed = false;
+ this->delay = DEFAULT_DELAY;
+ bool ok = Settings_read(this, this->userSettings);
+ if (!ok) {
+ this->changed = true;
+ // TODO: how to get SYSCONFDIR correctly through Autoconf?
+ char* systemSettings = String_cat(SYSCONFDIR, "/htoprc");
+ ok = Settings_read(this, systemSettings);
+ free(systemSettings);
+ if (!ok) {
+ Header_defaultMeters(this->header);
+ pl->hideKernelThreads = true;
+ pl->highlightMegabytes = true;
+ pl->highlightThreads = false;
+ }
+ }
+ return this;
+}
diff --git a/Settings.h b/Settings.h
index 8c67d295..8eb575be 100644
--- a/Settings.h
+++ b/Settings.h
@@ -28,12 +28,10 @@ typedef struct Settings_ {
} Settings;
-Settings* Settings_new(ProcessList* pl, Header* header);
-
void Settings_delete(Settings* this);
-bool Settings_read(Settings* this, char* fileName);
-
bool Settings_write(Settings* this);
+Settings* Settings_new(ProcessList* pl, Header* header);
+
#endif
diff --git a/SignalItem.c b/SignalItem.c
index 81f564d2..4d6df589 100644
--- a/SignalItem.c
+++ b/SignalItem.c
@@ -31,24 +31,14 @@ char* SIGNAL_CLASS = "Signal";
#define SIGNAL_CLASS NULL
#endif
-Signal* Signal_new(char* name, int number) {
- Signal* this = malloc(sizeof(Signal));
- Object_setClass(this, SIGNAL_CLASS);
- ((Object*)this)->display = Signal_display;
- ((Object*)this)->delete = Signal_delete;
- this->name = name;
- this->number = number;
- return this;
-}
-
-void Signal_delete(Object* cast) {
+static void Signal_delete(Object* cast) {
Signal* this = (Signal*)cast;
assert (this != NULL);
// names are string constants, so we're not deleting them.
free(this);
}
-void Signal_display(Object* cast, RichString* out) {
+static void Signal_display(Object* cast, RichString* out) {
Signal* this = (Signal*)cast;
assert (this != NULL);
@@ -57,6 +47,16 @@ void Signal_display(Object* cast, RichString* out) {
RichString_write(out, CRT_colors[DEFAULT_COLOR], buffer);
}
+static Signal* Signal_new(char* name, int number) {
+ Signal* this = malloc(sizeof(Signal));
+ Object_setClass(this, SIGNAL_CLASS);
+ ((Object*)this)->display = Signal_display;
+ ((Object*)this)->delete = Signal_delete;
+ this->name = name;
+ this->number = number;
+ return this;
+}
+
int Signal_getSignalCount() {
return SIGNAL_COUNT;
}
diff --git a/SignalItem.h b/SignalItem.h
index c60dfa40..17cb0e02 100644
--- a/SignalItem.h
+++ b/SignalItem.h
@@ -32,12 +32,6 @@ extern char* SIGNAL_CLASS;
#define SIGNAL_CLASS NULL
#endif
-Signal* Signal_new(char* name, int number);
-
-void Signal_delete(Object* cast);
-
-void Signal_display(Object* cast, RichString* out);
-
int Signal_getSignalCount();
Signal** Signal_getSignalTable();
diff --git a/SignalsPanel.c b/SignalsPanel.c
index 517fee67..559e42b9 100644
--- a/SignalsPanel.c
+++ b/SignalsPanel.c
@@ -20,38 +20,7 @@ typedef struct SignalsPanel_ {
}*/
-SignalsPanel* SignalsPanel_new(int x, int y, int w, int h) {
- SignalsPanel* this = (SignalsPanel*) malloc(sizeof(SignalsPanel));
- Panel* super = (Panel*) this;
- Panel_init(super, x, y, w, h, SIGNAL_CLASS, true);
- ((Object*)this)->delete = SignalsPanel_delete;
-
- this->signals = Signal_getSignalTable();
- super->eventHandler = SignalsPanel_eventHandler;
- int sigCount = Signal_getSignalCount();
- for(int i = 0; i < sigCount; i++)
- Panel_set(super, i, (Object*) this->signals[i]);
- SignalsPanel_reset(this);
- return this;
-}
-
-void SignalsPanel_delete(Object* object) {
- Panel* super = (Panel*) object;
- SignalsPanel* this = (SignalsPanel*) object;
- Panel_done(super);
- free(this->signals);
- free(this);
-}
-
-void SignalsPanel_reset(SignalsPanel* this) {
- Panel* super = (Panel*) this;
-
- Panel_setHeader(super, "Send signal:");
- Panel_setSelected(super, 16); // 16th item is SIGTERM
- this->state = 0;
-}
-
-HandlerResult SignalsPanel_eventHandler(Panel* super, int ch) {
+static HandlerResult SignalsPanel_eventHandler(Panel* super, int ch) {
SignalsPanel* this = (SignalsPanel*) super;
int size = Panel_getSize(super);
@@ -75,3 +44,34 @@ HandlerResult SignalsPanel_eventHandler(Panel* super, int ch) {
}
return IGNORED;
}
+
+static void SignalsPanel_delete(Object* object) {
+ Panel* super = (Panel*) object;
+ SignalsPanel* this = (SignalsPanel*) object;
+ Panel_done(super);
+ free(this->signals);
+ free(this);
+}
+
+SignalsPanel* SignalsPanel_new(int x, int y, int w, int h) {
+ SignalsPanel* this = (SignalsPanel*) malloc(sizeof(SignalsPanel));
+ Panel* super = (Panel*) this;
+ Panel_init(super, x, y, w, h, SIGNAL_CLASS, true);
+ ((Object*)this)->delete = SignalsPanel_delete;
+
+ this->signals = Signal_getSignalTable();
+ super->eventHandler = SignalsPanel_eventHandler;
+ int sigCount = Signal_getSignalCount();
+ for(int i = 0; i < sigCount; i++)
+ Panel_set(super, i, (Object*) this->signals[i]);
+ SignalsPanel_reset(this);
+ return this;
+}
+
+void SignalsPanel_reset(SignalsPanel* this) {
+ Panel* super = (Panel*) this;
+
+ Panel_setHeader(super, "Send signal:");
+ Panel_setSelected(super, 16); // 16th item is SIGTERM
+ this->state = 0;
+}
diff --git a/SignalsPanel.h b/SignalsPanel.h
index 4401a520..34ef472f 100644
--- a/SignalsPanel.h
+++ b/SignalsPanel.h
@@ -23,10 +23,6 @@ typedef struct SignalsPanel_ {
SignalsPanel* SignalsPanel_new(int x, int y, int w, int h);
-void SignalsPanel_delete(Object* object);
-
void SignalsPanel_reset(SignalsPanel* this);
-HandlerResult SignalsPanel_eventHandler(Panel* super, int ch);
-
#endif
diff --git a/String.c b/String.c
index e0b981c5..a671f2c9 100644
--- a/String.c
+++ b/String.c
@@ -18,10 +18,6 @@ in the source distribution for its full text.
#define String_startsWith(s, match) (strstr((s), (match)) == (s))
}*/
-inline void String_delete(char* s) {
- free(s);
-}
-
inline char* String_copy(char* orig) {
return strdup(orig);
}
@@ -49,53 +45,6 @@ char* String_trim(char* in) {
return out;
}
-char* String_copyUpTo(char* orig, char upTo) {
- int len;
-
- int origLen = strlen(orig);
- char* at = strchr(orig, upTo);
- if (at != NULL)
- len = at - orig;
- else
- len = origLen;
- char* copy = (char*) malloc(len+1);
- strncpy(copy, orig, len);
- copy[len] = '\0';
- return copy;
-}
-
-char* String_sub(char* orig, int from, int to) {
- char* copy;
- int len;
-
- len = strlen(orig);
- if (to > len)
- to = len;
- if (from > len)
- to = len;
- len = to-from+1;
- copy = (char*) malloc(len+1);
- strncpy(copy, orig+from, len);
- copy[len] = '\0';
- return copy;
-}
-
-void String_println(char* s) {
- printf("%s\n", s);
-}
-
-void String_print(char* s) {
- printf("%s", s);
-}
-
-void String_printInt(int i) {
- printf("%i", i);
-}
-
-void String_printPointer(void* p) {
- printf("%p", p);
-}
-
inline int String_eq(const char* s1, const char* s2) {
if (s1 == NULL || s2 == NULL) {
if (s1 == NULL && s2 == NULL)
@@ -144,10 +93,6 @@ void String_freeArray(char** s) {
free(s);
}
-int String_startsWith_i(char* s, char* match) {
- return (strncasecmp(s, match, strlen(match)) == 0);
-}
-
int String_contains_i(char* s, char* match) {
int lens = strlen(s);
int lenmatch = strlen(match);
diff --git a/String.h b/String.h
index 71e92faa..eed0ef63 100644
--- a/String.h
+++ b/String.h
@@ -19,34 +19,18 @@ in the source distribution for its full text.
#define String_startsWith(s, match) (strstr((s), (match)) == (s))
-extern void String_delete(char* s);
-
extern char* String_copy(char* orig);
char* String_cat(char* s1, char* s2);
char* String_trim(char* in);
-char* String_copyUpTo(char* orig, char upTo);
-
-char* String_sub(char* orig, int from, int to);
-
-void String_println(char* s);
-
-void String_print(char* s);
-
-void String_printInt(int i);
-
-void String_printPointer(void* p);
-
extern int String_eq(const char* s1, const char* s2);
char** String_split(char* s, char sep);
void String_freeArray(char** s);
-int String_startsWith_i(char* s, char* match);
-
int String_contains_i(char* s, char* match);
#endif
diff --git a/SwapMeter.c b/SwapMeter.c
index e7f827be..a3ee0273 100644
--- a/SwapMeter.c
+++ b/SwapMeter.c
@@ -23,26 +23,14 @@ int SwapMeter_attributes[] = {
SWAP
};
-MeterType SwapMeter = {
- .setValues = SwapMeter_setValues,
- .display = SwapMeter_display,
- .mode = BAR_METERMODE,
- .items = 1,
- .total = 100.0,
- .attributes = SwapMeter_attributes,
- .name = "Swap",
- .uiName = "Swap",
- .caption = "Swp"
-};
-
-void SwapMeter_setValues(Meter* this, char* buffer, int len) {
+static void SwapMeter_setValues(Meter* this, char* buffer, int len) {
long int usedSwap = this->pl->usedSwap;
this->total = this->pl->totalSwap;
this->values[0] = usedSwap;
snprintf(buffer, len, "%ld/%ldMB", (long int) usedSwap / 1024, (long int) this->total / 1024);
}
-void SwapMeter_display(Object* cast, RichString* out) {
+static void SwapMeter_display(Object* cast, RichString* out) {
char buffer[50];
Meter* this = (Meter*)cast;
long int swap = (long int) this->values[0];
@@ -54,3 +42,15 @@ void SwapMeter_display(Object* cast, RichString* out) {
RichString_append(out, CRT_colors[METER_TEXT], "used:");
RichString_append(out, CRT_colors[METER_VALUE], buffer);
}
+
+MeterType SwapMeter = {
+ .setValues = SwapMeter_setValues,
+ .display = SwapMeter_display,
+ .mode = BAR_METERMODE,
+ .items = 1,
+ .total = 100.0,
+ .attributes = SwapMeter_attributes,
+ .name = "Swap",
+ .uiName = "Swap",
+ .caption = "Swp"
+};
diff --git a/SwapMeter.h b/SwapMeter.h
index f2b8fb11..841b3782 100644
--- a/SwapMeter.h
+++ b/SwapMeter.h
@@ -26,8 +26,4 @@ extern int SwapMeter_attributes[];
extern MeterType SwapMeter;
-void SwapMeter_setValues(Meter* this, char* buffer, int len);
-
-void SwapMeter_display(Object* cast, RichString* out);
-
#endif
diff --git a/TasksMeter.c b/TasksMeter.c
index 5b99432f..f21ec82c 100644
--- a/TasksMeter.c
+++ b/TasksMeter.c
@@ -18,25 +18,13 @@ int TasksMeter_attributes[] = {
TASKS_RUNNING
};
-MeterType TasksMeter = {
- .setValues = TasksMeter_setValues,
- .display = TasksMeter_display,
- .mode = TEXT_METERMODE,
- .items = 1,
- .total = 100.0,
- .attributes = TasksMeter_attributes,
- .name = "Tasks",
- .uiName = "Task counter",
- .caption = "Tasks: "
-};
-
-void TasksMeter_setValues(Meter* this, char* buffer, int len) {
+static void TasksMeter_setValues(Meter* this, char* buffer, int len) {
this->total = this->pl->totalTasks;
this->values[0] = this->pl->runningTasks;
snprintf(buffer, len, "%d/%d", (int) this->values[0], (int) this->total);
}
-void TasksMeter_display(Object* cast, RichString* out) {
+static void TasksMeter_display(Object* cast, RichString* out) {
Meter* this = (Meter*)cast;
RichString_init(out);
char buffer[20];
@@ -47,3 +35,15 @@ void TasksMeter_display(Object* cast, RichString* out) {
RichString_append(out, CRT_colors[TASKS_RUNNING], buffer);
RichString_append(out, CRT_colors[METER_TEXT], " running");
}
+
+MeterType TasksMeter = {
+ .setValues = TasksMeter_setValues,
+ .display = TasksMeter_display,
+ .mode = TEXT_METERMODE,
+ .items = 1,
+ .total = 100.0,
+ .attributes = TasksMeter_attributes,
+ .name = "Tasks",
+ .uiName = "Task counter",
+ .caption = "Tasks: "
+};
diff --git a/TasksMeter.h b/TasksMeter.h
index e5b6c47a..cb0c46e2 100644
--- a/TasksMeter.h
+++ b/TasksMeter.h
@@ -21,8 +21,4 @@ extern int TasksMeter_attributes[];
extern MeterType TasksMeter;
-void TasksMeter_setValues(Meter* this, char* buffer, int len);
-
-void TasksMeter_display(Object* cast, RichString* out);
-
#endif
diff --git a/TraceScreen.c b/TraceScreen.c
index 03534226..072c26dd 100644
--- a/TraceScreen.c
+++ b/TraceScreen.c
@@ -53,7 +53,7 @@ void TraceScreen_delete(TraceScreen* this) {
free(this);
}
-void TraceScreen_draw(TraceScreen* this) {
+static void TraceScreen_draw(TraceScreen* this) {
attrset(CRT_colors[PANEL_HEADER_FOCUS]);
mvhline(0, 0, ' ', COLS);
mvprintw(0, 0, "Trace of process %d - %s", this->process->pid, this->process->comm);
diff --git a/TraceScreen.h b/TraceScreen.h
index 34ee5cb9..d2904a7e 100644
--- a/TraceScreen.h
+++ b/TraceScreen.h
@@ -37,8 +37,6 @@ TraceScreen* TraceScreen_new(Process* process);
void TraceScreen_delete(TraceScreen* this);
-void TraceScreen_draw(TraceScreen* this);
-
void TraceScreen_run(TraceScreen* this);
#endif
diff --git a/UptimeMeter.c b/UptimeMeter.c
index 74494c72..ec1e72ad 100644
--- a/UptimeMeter.c
+++ b/UptimeMeter.c
@@ -18,19 +18,7 @@ int UptimeMeter_attributes[] = {
UPTIME
};
-MeterType UptimeMeter = {
- .setValues = UptimeMeter_setValues,
- .display = NULL,
- .mode = TEXT_METERMODE,
- .items = 1,
- .total = 100.0,
- .attributes = UptimeMeter_attributes,
- .name = "Uptime",
- .uiName = "Uptime",
- .caption = "Uptime: "
-};
-
-void UptimeMeter_setValues(Meter* this, char* buffer, int len) {
+static void UptimeMeter_setValues(Meter* this, char* buffer, int len) {
double uptime;
FILE* fd = fopen(PROCDIR "/uptime", "r");
fscanf(fd, "%lf", &uptime);
@@ -56,3 +44,15 @@ void UptimeMeter_setValues(Meter* this, char* buffer, int len) {
}
snprintf(buffer, len, "%s%02d:%02d:%02d", daysbuf, hours, minutes, seconds);
}
+
+MeterType UptimeMeter = {
+ .setValues = UptimeMeter_setValues,
+ .display = NULL,
+ .mode = TEXT_METERMODE,
+ .items = 1,
+ .total = 100.0,
+ .attributes = UptimeMeter_attributes,
+ .name = "Uptime",
+ .uiName = "Uptime",
+ .caption = "Uptime: "
+};
diff --git a/UptimeMeter.h b/UptimeMeter.h
index 7f68d3c7..6747ba72 100644
--- a/UptimeMeter.h
+++ b/UptimeMeter.h
@@ -21,6 +21,4 @@ extern int UptimeMeter_attributes[];
extern MeterType UptimeMeter;
-void UptimeMeter_setValues(Meter* this, char* buffer, int len);
-
#endif
diff --git a/UsersTable.c b/UsersTable.c
index ca33779c..99d5deb2 100644
--- a/UsersTable.c
+++ b/UsersTable.c
@@ -47,10 +47,6 @@ char* UsersTable_getRef(UsersTable* this, unsigned int uid) {
return name;
}
-inline int UsersTable_size(UsersTable* this) {
- return (Hashtable_size(this->users));
-}
-
inline void UsersTable_foreach(UsersTable* this, Hashtable_PairFunction f, void* userData) {
Hashtable_foreach(this->users, f, userData);
}
diff --git a/UsersTable.h b/UsersTable.h
index b0d06fc3..489e215c 100644
--- a/UsersTable.h
+++ b/UsersTable.h
@@ -30,8 +30,6 @@ void UsersTable_delete(UsersTable* this);
char* UsersTable_getRef(UsersTable* this, unsigned int uid);
-extern int UsersTable_size(UsersTable* this);
-
extern void UsersTable_foreach(UsersTable* this, Hashtable_PairFunction f, void* userData);
#endif
diff --git a/Vector.c b/Vector.c
index 4c2a4f9b..e2da1eeb 100644
--- a/Vector.c
+++ b/Vector.c
@@ -218,7 +218,9 @@ inline int Vector_size(Vector* this) {
return this->items;
}
-void Vector_merge(Vector* this, Vector* v2) {
+/*
+
+static void Vector_merge(Vector* this, Vector* v2) {
int i;
assert(Vector_isConsistent(this));
@@ -229,6 +231,8 @@ void Vector_merge(Vector* this, Vector* v2) {
assert(Vector_isConsistent(this));
}
+*/
+
void Vector_add(Vector* this, void* data_) {
assert(data_ && ((Object*)data_)->class == this->vectorType);
Object* data = data_;
@@ -252,7 +256,9 @@ inline int Vector_indexOf(Vector* this, void* search_, Object_Compare compare) {
return -1;
}
-void Vector_foreach(Vector* this, Vector_procedure f) {
+/*
+
+static void Vector_foreach(Vector* this, Vector_procedure f) {
int i;
assert(Vector_isConsistent(this));
@@ -260,3 +266,5 @@ void Vector_foreach(Vector* this, Vector_procedure f) {
f(this->array[i]);
assert(Vector_isConsistent(this));
}
+
+*/
diff --git a/Vector.h b/Vector.h
index 209da0e5..b8010bfc 100644
--- a/Vector.h
+++ b/Vector.h
@@ -65,12 +65,16 @@ extern Object* Vector_get(Vector* this, int index);
extern int Vector_size(Vector* this);
-void Vector_merge(Vector* this, Vector* v2);
+/*
+
+*/
void Vector_add(Vector* this, void* data_);
extern int Vector_indexOf(Vector* this, void* search_, Object_Compare compare);
-void Vector_foreach(Vector* this, Vector_procedure f);
+/*
+
+*/
#endif
diff --git a/htop.c b/htop.c
index 50ecb416..b0cb7151 100644
--- a/htop.c
+++ b/htop.c
@@ -35,14 +35,14 @@ in the source distribution for its full text.
#define INCSEARCH_MAX 40
-void printVersionFlag() {
+static void printVersionFlag() {
clear();
printf("htop " VERSION " - (C) 2004-2008 Hisham Muhammad.\n");
printf("Released under the GNU GPL.\n\n");
exit(0);
}
-void printHelpFlag() {
+static void printHelpFlag() {
clear();
printf("htop " VERSION " - (C) 2004-2008 Hisham Muhammad.\n");
printf("Released under the GNU GPL.\n\n");
@@ -54,7 +54,7 @@ void printHelpFlag() {
exit(0);
}
-void showHelp(ProcessList* pl) {
+static void showHelp(ProcessList* pl) {
clear();
attrset(CRT_colors[HELP_BOLD]);
@@ -201,13 +201,13 @@ static Object* pickFromList(Panel* panel, Panel* list, int x, int y, char** keyL
return NULL;
}
-void addUserToList(int key, void* userCast, void* panelCast) {
+static void addUserToList(int key, void* userCast, void* panelCast) {
char* user = (char*) userCast;
Panel* panel = (Panel*) panelCast;
Panel_add(panel, (Object*) ListItem_new(user, key));
}
-void setUserOnly(const char* userName, bool* userOnly, uid_t* userId) {
+static void setUserOnly(const char* userName, bool* userOnly, uid_t* userId) {
struct passwd* user = getpwnam(userName);
if (user) {
*userOnly = true;
diff --git a/htop.h b/htop.h
index 139019e0..f6a0f407 100644
--- a/htop.h
+++ b/htop.h
@@ -39,16 +39,6 @@ in the source distribution for its full text.
#define INCSEARCH_MAX 40
-void printVersionFlag();
-
-void printHelpFlag();
-
-void showHelp(ProcessList* pl);
-
-void addUserToList(int key, void* userCast, void* panelCast);
-
-void setUserOnly(const char* userName, bool* userOnly, uid_t* userId);
-
int main(int argc, char** argv);
#endif

© 2014-2024 Faster IT GmbH | imprint | privacy policy