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 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
|
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
//
// copyright : (C) 2014 The CodeLite Team
// file name : ssh_account_info.cpp
//
// -------------------------------------------------------------------------
// A
// _____ _ _ _ _
// / __ \ | | | | (_) |
// | / \/ ___ __| | ___| | _| |_ ___
// | | / _ \ / _ |/ _ \ | | | __/ _ )
// | \__/\ (_) | (_| | __/ |___| | || __/
// \____/\___/ \__,_|\___\_____/_|\__\___|
//
// F i l e
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
#include "ssh_account_info.h"
#if USE_SFTP
#include "xor_string.h"
SSHAccountInfo::SSHAccountInfo()
: clConfigItem("ssh-account")
, m_port(22)
{
}
SSHAccountInfo::~SSHAccountInfo()
{
}
SSHAccountInfo& SSHAccountInfo::operator=(const SSHAccountInfo& other)
{
if ( &other == this )
return *this;
m_accountName = other.m_accountName;
m_username = other.m_username;
m_password = other.m_password;
m_port = other.m_port;
m_host = other.m_host;
m_bookmarks = other.m_bookmarks;
return *this;
}
void SSHAccountInfo::FromJSON(const JSONElement& json)
{
m_accountName = json.namedObject("m_accountName").toString();
m_username = json.namedObject("m_username").toString();
wxString pass = json.namedObject("m_password").toString();
XORString x(pass);
m_password = x.Decrypt();
m_port = json.namedObject("m_port").toInt(22);
m_host = json.namedObject("m_host").toString();
m_bookmarks = json.namedObject("m_bookmarks").toArrayString();
}
JSONElement SSHAccountInfo::ToJSON() const
{
JSONElement element = JSONElement::createObject(GetName());
element.addProperty("m_accountName", m_accountName);
element.addProperty("m_username", m_username);
element.addProperty("m_port", m_port);
element.addProperty("m_host", m_host);
element.addProperty("m_bookmarks", m_bookmarks);
XORString x(m_password);
element.addProperty("m_password", x.Encrypt());
return element;
}
void SSHAccountInfo::AddBookmark(const wxString& location)
{
if ( m_bookmarks.Index(location) == wxNOT_FOUND ) {
m_bookmarks.Add( location );
}
}
#endif // USE_SFTP
|