kwave  18.07.70
Kwave::MemoryPlugin Class Reference

#include <MemoryPlugin.h>

Inheritance diagram for Kwave::MemoryPlugin:
Inheritance graph
Collaboration diagram for Kwave::MemoryPlugin:
Collaboration graph

Public Member Functions

 MemoryPlugin (QObject *parent, const QVariantList &args)
 
virtual ~MemoryPlugin () Q_DECL_OVERRIDE
 
virtual void load (QStringList &params) Q_DECL_OVERRIDE
 
virtual QStringList * setup (QStringList &previous_params) Q_DECL_OVERRIDE
 
- Public Member Functions inherited from Kwave::Plugin
 Plugin (QObject *parent, const QVariantList &args)
 
virtual ~Plugin () Q_DECL_OVERRIDE
 
virtual QString name () const
 
virtual QString description () const
 
virtual QString progressText ()
 
virtual bool canClose () const
 
bool isRunning () const
 
bool shouldStop () const
 
virtual void unload ()
 
virtual int start (QStringList &params)
 
virtual int stop ()
 
virtual void run (QStringList params)
 
Kwave::PluginManagermanager () const
 
Kwave::SignalManagersignalManager ()
 
QWidget * parentWidget () const
 
QString signalName ()
 
virtual sample_index_t signalLength ()
 
virtual double signalRate ()
 
virtual const QList< unsigned int > selectedTracks ()
 
virtual sample_index_t selection (QList< unsigned int > *tracks=Q_NULLPTR, sample_index_t *left=Q_NULLPTR, sample_index_t *right=Q_NULLPTR, bool expand_if_empty=false)
 
virtual void selectRange (sample_index_t offset, sample_index_t length)
 
virtual void migrateToActiveContext ()
 
- Public Member Functions inherited from Kwave::Runnable
virtual ~Runnable ()
 

Protected Member Functions

int interpreteParameters (QStringList &params)
 
void applySettings ()
 
- Protected Member Functions inherited from Kwave::Plugin
int execute (QStringList &params)
 
void emitCommand (const QString &command)
 
void use ()
 
void setPluginManager (Kwave::PluginManager *new_plugin_manager)
 
virtual void run_wrapper (const QVariant &params) Q_DECL_OVERRIDE
 

Private Attributes

bool m_physical_limited
 
unsigned int m_physical_limit
 
bool m_virtual_enabled
 
bool m_virtual_limited
 
unsigned int m_virtual_limit
 
QString m_virtual_directory
 
unsigned int m_undo_limit
 

Additional Inherited Members

- Public Slots inherited from Kwave::Plugin
virtual void setProgressDialogEnabled (bool enable)
 
virtual void updateProgress (qreal progress)
 
virtual void cancel ()
 
virtual void close ()
 
void release ()
 
- Signals inherited from Kwave::Plugin
void sigRunning (Kwave::Plugin *plugin)
 
void sigDone (Kwave::Plugin *plugin)
 
void sigClosed (Kwave::Plugin *p)
 
void sigCommand (const QString &command)
 
void setProgressText (const QString &text)
 

Detailed Description

Setup plugin for Kwave's memory manager.

Definition at line 36 of file MemoryPlugin.h.

Constructor & Destructor Documentation

◆ MemoryPlugin()

Kwave::MemoryPlugin::MemoryPlugin ( QObject *  parent,
const QVariantList &  args 
)

Constructor

Parameters
parentreference to our plugin manager
argsargument list [unused]

Definition at line 46 of file MemoryPlugin.cpp.

48  :Kwave::Plugin(parent, args),
49  m_physical_limited(true),
51  m_virtual_enabled(true),
52  m_virtual_limited(false),
54  m_virtual_directory(_("/var/tmp")),
56 {
57 }
unsigned int m_virtual_limit
Definition: MemoryPlugin.h:104
unsigned int m_physical_limit
Definition: MemoryPlugin.h:87
#define DEFAULT_VIRTUAL_LIMIT
unsigned int m_undo_limit
Definition: MemoryPlugin.h:112
#define _(m)
Definition: memcpy.c:66
#define DEFAULT_PHYSICAL_LIMIT
#define DEFAULT_UNDO_LIMIT
QString m_virtual_directory
Definition: MemoryPlugin.h:107

◆ ~MemoryPlugin()

Kwave::MemoryPlugin::~MemoryPlugin ( )
virtual

Destructor

Definition at line 60 of file MemoryPlugin.cpp.

61 {
62 }

Member Function Documentation

◆ applySettings()

void Kwave::MemoryPlugin::applySettings ( )
protected

Applies the current settings by passing them to Kwave's global MemoryManager

Definition at line 125 of file MemoryPlugin.cpp.

References Kwave::MemoryManager::instance(), m_physical_limit, m_physical_limited, m_undo_limit, m_virtual_directory, m_virtual_enabled, m_virtual_limit, m_virtual_limited, Kwave::MemoryManager::setPhysicalLimit(), Kwave::MemoryManager::setSwapDirectory(), Kwave::MemoryManager::setUndoLimit(), and Kwave::MemoryManager::setVirtualLimit().

Referenced by load(), and setup().

126 {
130  (m_virtual_limited ? m_virtual_limit : INT_MAX) :
131  0);
134 }
unsigned int m_virtual_limit
Definition: MemoryPlugin.h:104
void setVirtualLimit(quint64 mb) Q_DECL_EXPORT
static MemoryManager & instance() Q_DECL_EXPORT
void setUndoLimit(quint64 mb) Q_DECL_EXPORT
unsigned int m_physical_limit
Definition: MemoryPlugin.h:87
void setSwapDirectory(const QString &dir) Q_DECL_EXPORT
unsigned int m_undo_limit
Definition: MemoryPlugin.h:112
void setPhysicalLimit(quint64 mb) Q_DECL_EXPORT
QString m_virtual_directory
Definition: MemoryPlugin.h:107
Here is the call graph for this function:
Here is the caller graph for this function:

◆ interpreteParameters()

int Kwave::MemoryPlugin::interpreteParameters ( QStringList &  params)
protected

Interpretes a given parameter list and sets up internal parameters accordingly.

Parameters
paramsreference to a QStringList with parameters
Returns
0 if ok, or an error code if failed

Definition at line 65 of file MemoryPlugin.cpp.

References m_physical_limit, m_physical_limited, m_undo_limit, m_virtual_directory, m_virtual_enabled, m_virtual_limit, and m_virtual_limited.

Referenced by load(), and setup().

66 {
67  bool ok;
68  QString param;
69 
70  // evaluate the parameter list
71  if (params.count() < 6) return -EINVAL;
72 
73  // parameter #0: physical memory is limited ?
74  param = params[0];
75  m_physical_limited = param.toUInt(&ok) != 0;
76  if (!ok) return -EINVAL;
77 
78  // parameter #1: limit for physical memory
79  param = params[1];
80  m_physical_limit = param.toUInt(&ok);
81  if (!ok) return -EINVAL;
82 
83  // parameter #2: virtual memory is enabled ?
84  param = params[2];
85  m_virtual_enabled = param.toUInt(&ok) != 0;
86  if (!ok) return -EINVAL;
87 
88  // parameter #3: virtual memory is limited ?
89  param = params[3];
90  m_virtual_limited = param.toUInt(&ok) != 0;
91  if (!ok) return -EINVAL;
92 
93  // parameter #4: limit for virtual memory
94  if (m_virtual_limited) {
95  param = params[4];
96  m_virtual_limit = param.toUInt(&ok);
97  if (!ok) return -EINVAL;
98  } else {
99  m_virtual_limit = INT_MAX;
100  }
101 
102  // parameter #5: directory for virtual memory files
103  param = params[5];
104  m_virtual_directory = param;
105 
106  // parameter #6: limit for undo/redo
107  if (params.count() >= 7)
108  {
109  param = params[6];
110  m_undo_limit = param.toUInt(&ok);
111  if (!ok) return -EINVAL;
112  }
113 
114  return 0;
115 }
unsigned int m_virtual_limit
Definition: MemoryPlugin.h:104
unsigned int m_physical_limit
Definition: MemoryPlugin.h:87
unsigned int m_undo_limit
Definition: MemoryPlugin.h:112
QString m_virtual_directory
Definition: MemoryPlugin.h:107
Here is the caller graph for this function:

◆ load()

void Kwave::MemoryPlugin::load ( QStringList &  params)
virtual

Gets called when the plugin is first loaded.

Reimplemented from Kwave::Plugin.

Definition at line 118 of file MemoryPlugin.cpp.

References applySettings(), and interpreteParameters().

119 {
120  interpreteParameters(params);
121  applySettings();
122 }
int interpreteParameters(QStringList &params)
Here is the call graph for this function:

◆ setup()

QStringList * Kwave::MemoryPlugin::setup ( QStringList &  previous_params)
virtual
See also
Kwave::Plugin::setup()

Reimplemented from Kwave::Plugin.

Definition at line 137 of file MemoryPlugin.cpp.

References applySettings(), interpreteParameters(), m_physical_limit, m_physical_limited, m_undo_limit, m_virtual_directory, m_virtual_enabled, m_virtual_limit, m_virtual_limited, Kwave::MemoryDialog::params(), and Kwave::Plugin::parentWidget().

138 {
139  QStringList *result = Q_NULLPTR;
140 
141  // try to interpret the list of previous parameters, ignore errors
142  if (previous_params.count()) interpreteParameters(previous_params);
143 
148  Q_ASSERT(dlg);
149  if (!dlg) return Q_NULLPTR;
150 
151  if (dlg->exec() == QDialog::Accepted) {
152  // get the new parameters and let them take effect
153  result = new QStringList();
154  Q_ASSERT(result);
155  if (result) {
156  dlg->params(*result);
157  interpreteParameters(*result);
158  applySettings();
159  }
160  };
161 
162  delete dlg;
163  return result;
164 }
unsigned int m_virtual_limit
Definition: MemoryPlugin.h:104
QWidget * parentWidget() const
Definition: Plugin.cpp:450
void params(QStringList &par)
unsigned int m_physical_limit
Definition: MemoryPlugin.h:87
int interpreteParameters(QStringList &params)
unsigned int m_undo_limit
Definition: MemoryPlugin.h:112
QString m_virtual_directory
Definition: MemoryPlugin.h:107
Here is the call graph for this function:

Member Data Documentation

◆ m_physical_limit

unsigned int Kwave::MemoryPlugin::m_physical_limit
private

Maximum amount of physical memory [MB]. Only of interest if m_physical_limited is set to true, otherwise reflects the user's last setting.

Definition at line 87 of file MemoryPlugin.h.

Referenced by applySettings(), interpreteParameters(), and setup().

◆ m_physical_limited

bool Kwave::MemoryPlugin::m_physical_limited
private

If true, the physical memory is limited

Definition at line 80 of file MemoryPlugin.h.

Referenced by applySettings(), interpreteParameters(), and setup().

◆ m_undo_limit

unsigned int Kwave::MemoryPlugin::m_undo_limit
private

Maximum amount of memory [MB] available for undo/redo

Definition at line 112 of file MemoryPlugin.h.

Referenced by applySettings(), interpreteParameters(), and setup().

◆ m_virtual_directory

QString Kwave::MemoryPlugin::m_virtual_directory
private

Directory for page files. Default = /tmp

Definition at line 107 of file MemoryPlugin.h.

Referenced by applySettings(), interpreteParameters(), and setup().

◆ m_virtual_enabled

bool Kwave::MemoryPlugin::m_virtual_enabled
private

If true, virtual memory is enabled

Definition at line 90 of file MemoryPlugin.h.

Referenced by applySettings(), interpreteParameters(), and setup().

◆ m_virtual_limit

unsigned int Kwave::MemoryPlugin::m_virtual_limit
private

Maximum amount of virtual memory [MB]. Only of interest if m_virtual_enabled and m_virtual_limited are set to true, otherwise reflects the user's last setting.

Definition at line 104 of file MemoryPlugin.h.

Referenced by applySettings(), interpreteParameters(), and setup().

◆ m_virtual_limited

bool Kwave::MemoryPlugin::m_virtual_limited
private

If true, virtual memory is limited. Only of interest if m_virtual_enabled is set to true, otherwise reflects the user's last setting.

Definition at line 97 of file MemoryPlugin.h.

Referenced by applySettings(), interpreteParameters(), and setup().


The documentation for this class was generated from the following files: