Move SettingsMessage to a central location

* Move SettingsMessage
* Remove SettingsMessage from MediaPlayer and WebPositive
* Use the central SettingsMessage in MediaPlayer and WebPositive (Later Bluetooth)
* Fix a Jam file.

Change-Id: I3bb82a40082c5ece5c2aea2468a77bcd9f15ce77
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3856
Reviewed-by: Adrien Destugues <[email protected]>
This commit is contained in:
Fredrik Modéen
2021-04-11 08:53:18 +00:00
parent 4a2870fcf2
commit 6375ef053d
10 changed files with 4 additions and 423 deletions
+105
View File
@@ -0,0 +1,105 @@
/*
* Copyright 2008-2010 Stephan Aßmus <[email protected]>.
* Copyright 1998 Eric Shepherd.
* All rights reserved. Distributed under the terms of the Be Sample Code
* license.
*/
#ifndef SETTINGS_MESSAGE_H
#define SETTINGS_MESSAGE_H
#include <FindDirectory.h>
#include <Font.h>
#include <List.h>
#include <Locker.h>
#include <Message.h>
#include <Path.h>
class BMessenger;
class BString;
enum {
SETTINGS_VALUE_CHANGED = '_svc'
};
class SettingsMessage : public BMessage, public BLocker {
public:
SettingsMessage(directory_which directory,
const char* filename);
virtual ~SettingsMessage();
status_t InitCheck() const;
status_t Load();
status_t Save() const;
bool AddListener(const BMessenger& listener);
void RemoveListener(const BMessenger& listener);
status_t SetValue(const char* name, bool value);
status_t SetValue(const char* name, int8 value);
status_t SetValue(const char* name, int16 value);
status_t SetValue(const char* name, int32 value);
status_t SetValue(const char* name, uint32 value);
status_t SetValue(const char* name, int64 value);
status_t SetValue(const char* name, float value);
status_t SetValue(const char* name, double value);
status_t SetValue(const char* name,
const char* value);
status_t SetValue(const char* name,
const BString& value);
status_t SetValue(const char *name,
const BPoint& value);
status_t SetValue(const char* name, const BRect& value);
status_t SetValue(const char* name,
const entry_ref& value);
status_t SetValue(const char* name,
const BMessage& value);
status_t SetValue(const char* name,
const BFlattenable* value);
status_t SetValue(const char* name,
const BFont& value);
bool GetValue(const char* name,
bool defaultValue) const;
int8 GetValue(const char* name,
int8 defaultValue) const;
int16 GetValue(const char* name,
int16 defaultValue) const;
int32 GetValue(const char* name,
int32 defaultValue) const;
uint32 GetValue(const char* name,
uint32 defaultValue) const;
int64 GetValue(const char* name,
int64 defaultValue) const;
float GetValue(const char* name,
float defaultValue) const;
double GetValue(const char* name,
double defaultValue) const;
const char* GetValue(const char* name,
const char* defaultValue) const;
BString GetValue(const char* name,
const BString& defaultValue) const;
BPoint GetValue(const char *name,
BPoint defaultValue) const;
BRect GetValue(const char* name,
BRect defaultValue) const;
entry_ref GetValue(const char* name,
const entry_ref& defaultValue) const;
BMessage GetValue(const char* name,
const BMessage& defaultValue) const;
BFont GetValue(const char* name,
const BFont& defaultValue) const;
private:
void _NotifyValueChanged(const char* name) const;
private:
BPath fPath;
status_t fStatus;
BList fListeners;
};
#endif // SETTINGS_MESSAGE_H