/*************************************************************************** smb4kbookmark.h - 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 * ***************************************************************************/ #ifndef SMB4KBOOKMARK_H #define SMB4KBOOKMARK_H // TQt includes #include // forward declarations class Smb4KShareItem; /** * This class is a container for a set bookmark on a samba share */ class Smb4KBookmark { public: /** * The constructor. * * @param hostname The host name. * * @param sharename The share name. * * @param workgroup The workgroup/domain where the share is located. * * @param ip The IP address of the host * * @param type The type of the share, i.e. "disk" or "printer". * * @param label An alternative label to the share name. */ Smb4KBookmark( const TQString &hostname, const TQString &sharename, const TQString &workgroup, const TQString &ip, const TQString &type, const TQString &label = TQString() ); /** * An alternative constructor. * * @param item The Smb4KShareItem for which a bookmark should be * created. * * @param ip The IP address of the host * * @param label An alternative label to the share name. */ Smb4KBookmark( Smb4KShareItem *item, const TQString &ip, const TQString &label = TQString() ); /** * The empty constructor. */ Smb4KBookmark() {} /** * The destructor. */ ~Smb4KBookmark(); /** * This function returns the share name. * * @returns The share name */ const TQString &share() const { return m_share; }; /** * This function returns the workgroup/domain the share is located in. * * @returns The workgroup */ const TQString &workgroup() const { return m_workgroup; } /** * This function returns the IP address of the host that carries the * share. * * @returns The IP address */ const TQString &ip() const { return m_ip; } /** * This function returns the type of the share, i.e. either "Disk" or * "Printer"/"Print" and "IPC". * * @returns The type of the share */ const TQString &type() const { return m_type; } /** * This function sets the share name of the bookmark. It is normally not * necessary to use it, because all data should be passed to the constructor. * In case of homes shares, however, this function is useful. * * @param name The share name */ void setShareName( const TQString &name ); /** * This function returns the bookmark name. * * @returns The name of the bookmark */ const TQString &bookmark() const { return m_bookmark; } /** * This function returns the host name. * * @returns The name of the host */ const TQString &host() const { return m_host; } /** * This function sets the IP address. * * @param ip The IP address */ void setIP( const TQString &ip ); /** * Return the alternative bookmark label. * * @returns the label. */ const TQString &label() const { return m_label; } /** * Sets the alternative bookmark label. * * @param text The new text for the label */ void setLabel( const TQString &text ); private: /** * The host name. */ TQString m_host; /** * The share name. */ TQString m_share; /** * The workgroup */ TQString m_workgroup; /** * The IP address */ TQString m_ip; /** * The type of the share; */ TQString m_type; /** * The bookmark string. */ TQString m_bookmark; /** * The alternative label */ TQString m_label; /** * This function checks if the IP address is valid, i.e. the * IP address is either IP v4 or IP v6. It returns either TRUE * or FALSE. * * @param ip The IP address that's going to be checked. * * @returns TRUE if the IP address is valid and FALSE otherwise. */ bool ipIsValid( const TQString &ip ); }; #endif