You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
98 lines
3.2 KiB
98 lines
3.2 KiB
/***************************************************************************
|
|
smb4kbookmark.cpp - A bookmark container.
|
|
-------------------
|
|
begin : Feb 04 2004
|
|
copyright : (C) 2004 by Franck Babin
|
|
(C) 2005-2007 by Alexander Reinholdt
|
|
email : babinfranck@yahoo.ca
|
|
dustpuppy@mail.berlios.de
|
|
***************************************************************************/
|
|
|
|
/***************************************************************************
|
|
* 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. *
|
|
* *
|
|
* This program is distributed in the hope that it will be useful, but *
|
|
* WITHOUT ANY WARRANTY; without even the implied warranty of *
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
|
|
* General Public License for more details. *
|
|
* *
|
|
* You should have received a copy of the GNU General Public License *
|
|
* along with this program; if not, write to the *
|
|
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, *
|
|
* MA 02110-1301 USA *
|
|
***************************************************************************/
|
|
|
|
// KDE includes
|
|
#include <ksocketaddress.h>
|
|
|
|
// application specific includes
|
|
#include "smb4kbookmark.h"
|
|
#include "smb4knetworkitems.h"
|
|
|
|
|
|
Smb4KBookmark::Smb4KBookmark( const TQString &host, const TQString &share, const TQString &workgroup, const TQString &ip, const TQString &type, const TQString &label )
|
|
: m_host( host ), m_share( share ), m_workgroup( workgroup ), m_type( type ), m_label( label )
|
|
{
|
|
//FIXME should throw an exception if one of the param is empty
|
|
|
|
m_ip = ipIsValid( ip ) ? ip : TQString();
|
|
m_bookmark = TQString( "//%1/%2" ).arg( m_host, m_share );
|
|
}
|
|
|
|
|
|
Smb4KBookmark::Smb4KBookmark( Smb4KShareItem *item, const TQString &ip, const TQString &label )
|
|
: m_host( item->host() ), m_share( item->name() ), m_workgroup( item->workgroup() ),
|
|
m_type( item->plainType() ), m_label( label )
|
|
{
|
|
m_ip = ipIsValid( ip ) ? ip : TQString();
|
|
m_bookmark = TQString( "//%1/%2" ).arg( m_host, m_share );
|
|
}
|
|
|
|
|
|
Smb4KBookmark::~Smb4KBookmark()
|
|
{
|
|
}
|
|
|
|
|
|
void Smb4KBookmark::setShareName( const TQString &name )
|
|
{
|
|
m_share = name;
|
|
|
|
m_bookmark = TQString( "//%1/%2" ).arg( m_host, m_share );
|
|
}
|
|
|
|
|
|
void Smb4KBookmark::setIP( const TQString &ip )
|
|
{
|
|
m_ip = ipIsValid( ip ) ? ip : TQString();
|
|
}
|
|
|
|
|
|
void Smb4KBookmark::setLabel( const TQString &text )
|
|
{
|
|
m_label = text;
|
|
}
|
|
|
|
|
|
bool Smb4KBookmark::ipIsValid( const TQString &ip )
|
|
{
|
|
if ( !ip.isEmpty() )
|
|
{
|
|
KNetwork::KIpAddress ip_address = KNetwork::KIpAddress( ip );
|
|
|
|
if ( !ip_address.isIPv4Addr() && !ip_address.isIPv6Addr() )
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|