1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
#include "PHPUserWorkspace.h"
#include <globals.h>
#include "JSON.h"
PHPUserWorkspace::PHPUserWorkspace(const wxString& workspacePath)
: m_workspacePath(workspacePath)
{
}
PHPUserWorkspace::~PHPUserWorkspace()
{
}
wxFileName PHPUserWorkspace::GetFileName() const
{
wxFileName workspaceFile( m_workspacePath );
wxFileName fn(workspaceFile.GetPath(), workspaceFile.GetFullName() + "." + ::clGetUserName());
fn.AppendDir(".codelite");
if ( !fn.FileExists() ) {
fn.Mkdir(wxS_DIR_DEFAULT, wxPATH_MKDIR_FULL);
}
return fn;
}
PHPUserWorkspace& PHPUserWorkspace::Load()
{
wxFileName fn = GetFileName();
JSON root(fn);
JSONItem element = root.toElement();
m_breakpoints.clear();
JSONItem bpArr = element.namedObject("m_breakpoints");
int bpcount = bpArr.arraySize();
for( int i=0; i<bpcount; ++i ) {
XDebugBreakpoint bp;
bp.FromJSON( bpArr.arrayItem(i) );
m_breakpoints.push_back( bp );
}
return *this;
}
PHPUserWorkspace& PHPUserWorkspace::Save()
{
// Serialize the breakpoints
JSON root(cJSON_Object);
JSONItem json = root.toElement();
JSONItem bpArr = JSONItem::createArray("m_breakpoints");
json.append( bpArr );
XDebugBreakpoint::List_t::const_iterator iter = m_breakpoints.begin();
for( ; iter != m_breakpoints.end(); ++iter ) {
bpArr.arrayAppend( iter->ToJSON() );
}
root.save( GetFileName() );
return *this;
}
|