174158bb4SFrançois Revol/*
26f6ba875SAxel Dörfler * Copyright 2008, Fran��ois Revol, revol@free.fr. All rights reserved.
374158bb4SFrançois Revol * Distributed under the terms of the MIT License.
474158bb4SFrançois Revol */
574158bb4SFrançois Revol#ifndef SYSTEM_INFO_HANDLER_H
674158bb4SFrançois Revol#define SYSTEM_INFO_HANDLER_H
774158bb4SFrançois Revol
874158bb4SFrançois Revol
974158bb4SFrançois Revol#include <Handler.h>
1074158bb4SFrançois Revol
1174158bb4SFrançois Revol
1274158bb4SFrançois Revolclass SystemInfoHandler : public BHandler {
1374158bb4SFrançois Revolpublic:
1474158bb4SFrançois Revol						SystemInfoHandler();
1574158bb4SFrançois Revol	virtual				~SystemInfoHandler();
1674158bb4SFrançois Revol
176f6ba875SAxel Dörfler	virtual	status_t	Archive(BMessage* data, bool deep = true) const;
1874158bb4SFrançois Revol
196f6ba875SAxel Dörfler			void		StartWatching();
206f6ba875SAxel Dörfler			void		StopWatching();
2174158bb4SFrançois Revol
226f6ba875SAxel Dörfler			void		MessageReceived(BMessage* message);
2374158bb4SFrançois Revol
2474158bb4SFrançois Revol			uint32		RunningApps() const;
25e034d18fSFrançois Revol			uint32		ClipboardSize() const;
26e034d18fSFrançois Revol			uint32		ClipboardTextSize() const;
27dc1ffc79SFrançois Revol			uint32		MediaNodes() const;
28dc1ffc79SFrançois Revol			uint32		MediaConnections() const;
29dc1ffc79SFrançois Revol			uint32		MediaBuffers() const;
3074158bb4SFrançois Revol
3174158bb4SFrançois Revolprivate:
32e034d18fSFrançois Revol			void		_UpdateClipboardData();
3374158bb4SFrançois Revol
3474158bb4SFrançois Revol	uint32				fRunningApps;
35e034d18fSFrançois Revol	uint32				fClipboardSize;
36e034d18fSFrançois Revol	uint32				fClipboardTextSize;
37dc1ffc79SFrançois Revol	uint32				fMediaNodes;
38dc1ffc79SFrançois Revol	uint32				fMediaConnections;
39dc1ffc79SFrançois Revol	uint32				fMediaBuffers;
4074158bb4SFrançois Revol};
4174158bb4SFrançois Revol
4274158bb4SFrançois Revol#endif	// SYSTEM_INFO_HANDLER_H
43