Rivendellaudio/lib/rdurl.cpp
2014-08-12 15:13:02 -04:00

65 lines
1.5 KiB
C++

// rdurl.cpp
//
// A URL Handling Class with Support for SMB URLs.
//
// (C) Copyright 2002-2006 Fred Gleason <fredg@paravelsystems.com>
//
// $Id: rdurl.cpp,v 1.4 2010/07/29 19:32:34 cvs Exp $
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU Library General Public License
// version 2 as published by the Free Software Foundation.
//
// 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., 675 Mass Ave, Cambridge, MA 02139, USA.
//
//
#include <rdurl.h>
RDUrl::RDUrl()
: QUrl()
{
}
RDUrl::RDUrl(const QString &url)
: QUrl(url)
{
}
bool RDUrl::validSmbShare() const
{
return (protocol()=="smb")&&(!host().isEmpty())&&(path()!="/");
}
QString RDUrl::smbShare() const
{
int offset=0;
if((offset=path().right(path().length()-1).find("/"))<0) {
offset=path().length();
}
return QString().sprintf("//%s%s",
(const char *)host(),
(const char *)path().left(offset+1));
}
QString RDUrl::smbPath() const
{
int offset=0;
if((offset=path().right(path().length()-1).find("/"))<0) {
return QString("/");
}
return path().right(path().length()-offset-1);
}