Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/root/TGHtmlUri.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 // @(#)root/guihtml:$Id: TObject.h 20877 2007-11-19 11:17:07Z rdm $
0002 // Author:  Valeriy Onuchin   03/05/2007
0003 
0004 /*************************************************************************
0005  * Copyright (C) 1995-2001, Rene Brun, Fons Rademakers and Reiner Rohlfs *
0006  * All rights reserved.                                                  *
0007  *                                                                       *
0008  * For the licensing terms see $ROOTSYS/LICENSE.                         *
0009  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
0010  *************************************************************************/
0011 
0012 /**************************************************************************
0013 
0014     HTML widget for xclass. Based on tkhtml 1.28
0015     Copyright (C) 1997-2000 D. Richard Hipp <drh@acm.org>
0016     Copyright (C) 2002-2003 Hector Peraza.
0017 
0018     This library is free software; you can redistribute it and/or
0019     modify it under the terms of the GNU Library General Public
0020     License as published by the Free Software Foundation; either
0021     version 2 of the License, or (at your option) any later version.
0022 
0023     This library is distributed in the hope that it will be useful,
0024     but WITHOUT ANY WARRANTY; without even the implied warranty of
0025     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0026     Library General Public License for more details.
0027 
0028     You should have received a copy of the GNU Library General Public
0029     License along with this library; if not, write to the Free
0030     Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
0031 
0032 **************************************************************************/
0033 
0034 #ifndef ROOT_TGHtmlUri
0035 #define ROOT_TGHtmlUri
0036 
0037 #include "TObject.h"
0038 
0039 #define URI_SCHEME_MASK     (1<<0)
0040 #define URI_AUTH_MASK       (1<<1)
0041 #define URI_PATH_MASK       (1<<2)
0042 #define URI_QUERY_MASK      (1<<3)
0043 #define URI_FRAGMENT_MASK   (1<<4)
0044 
0045 #define URI_FULL_MASK       (URI_SCHEME_MASK | URI_AUTH_MASK |  \
0046                              URI_PATH_MASK   | URI_QUERY_MASK | \
0047                              URI_FRAGMENT_MASK)
0048 
0049 //----------------------------------------------------------------------
0050 // A parsed URI is held in an instance of the following class.
0051 //
0052 // The examples are from the URI
0053 //   http://192.168.1.1:8080/cgi-bin/printenv?name=xyzzy&addr=none#frag
0054 
0055 class TGHtmlUri : public TObject {
0056 private:
0057    TGHtmlUri(const TGHtmlUri&) = delete;
0058    TGHtmlUri &operator=(const TGHtmlUri&) = delete;
0059 
0060 public:
0061    TGHtmlUri(const char *zUri = nullptr);
0062    TGHtmlUri(const TGHtmlUri *uri);
0063    ~TGHtmlUri() override;
0064 
0065    char *BuildUri();
0066    int  EqualsUri(const TGHtmlUri *uri, int field_mask = URI_FULL_MASK);
0067 
0068 public:
0069    int ComponentLength(const char *z, const char *zInit, const char *zTerm);
0070 
0071    char *fZScheme;             // Ex: "http"
0072    char *fZAuthority;          // Ex: "192.168.1.1:8080"
0073    char *fZPath;               // Ex: "cgi-bin/printenv"
0074    char *fZQuery;              // Ex: "name=xyzzy&addr=none"
0075    char *fZFragment;           // Ex: "frag"
0076 };
0077 
0078 #endif  // ROOT_TGHtmlUri