4898794edd81be5285ea6e544acbedeaeb31bf78
max
  Tue Nov 23 08:10:57 2021 -0800
Fixing pointers to README file for license in all source code files. refs #27614

diff --git src/hg/inc/customFactory.h src/hg/inc/customFactory.h
index 501bee9..8600d22 100644
--- src/hg/inc/customFactory.h
+++ src/hg/inc/customFactory.h
@@ -1,155 +1,155 @@
 /* customFactory - a polymorphic object for handling
  * creating various types of custom tracks. */
 
 /* Copyright (C) 2009 The Regents of the University of California 
- * See README in this or parent directory for licensing information. */
+ * See kent/LICENSE or http://genome.ucsc.edu/license/ for licensing information. */
 
 #ifndef CUSTOMFACTORY_H
 #define CUSTOMFACTORY_H
 
 #ifndef CUSTOMPP_H
 #include "customPp.h"
 #endif
 
 #ifndef CUSTOMTRACK_H
 #include "customTrack.h"
 #endif
 
 struct customFactory
 /* customFactory - a polymorphic object for handling
  * creating various types of custom tracks. */
     {
     struct customFactory *next;
     char *name;		/* Name - psl, bed, wig, chromGraph, etc. */
 
     boolean (*recognizer)(struct customFactory *fac,
     	struct customPp *cpp, char *type, 
     	struct customTrack *track);
     /* Called by custom tracks framework.  Track line if any will
      * be read in already and parsed into type and track.
      * Type may be NULL, filled in from type= part of track line.
      * settings is all the this=that in the track line.
      * This routine is allowed to fill in some of track structure if
      * it returns TRUE. */
 
      struct customTrack * (*loader)(struct customFactory *fac, 
     	struct hash *chromHash,  /* Hash to store chrom names, filled in here */
     	struct customPp *cpp, 	 /* Source of input */
 	struct customTrack *track, /* Skeleton of track, filled in here */
 	boolean dbRequested);	 /* If true load into temp database */
     /* Load up a custom track. The track line is already parsed (and
      * available in the settings hash).  This routine reads from cpp
      * until the next track line or until end of file. If dbRequested is
      * TRUE it will attempt to load track into a MySQL database. 
      * Returns track (or in some cases tracks) that it loads. */
     };
 
 /*** Some externally defined factories. ***/
 extern struct customFactory chromGraphFactory;
 
 /*** Some helper functions factories can call. ***/
 
 char *customFactoryNextTilTrack(struct customPp *cpp);
 /* Return next line.  Return NULL at end of input or at line starting with
  * "track." */
 
 char *customFactoryNextRealTilTrack(struct customPp *cpp);
 /* Return next "real" line (not blank, not comment).
  * Return NULL at end of input or at line starting with
  * "track." */
 
 char *customTrackTempDb();
 /* Get custom database.  If first time set up some
  * environment variables that the loaders will need. */
 
 void customFactorySetupDbTrack(struct customTrack *track);
 /* Fill in fields most database-resident custom tracks need. */
 
 /*** Interface to custom factory system. ***/
 
 struct customFactory *customFactoryFind(char *genomeDb, struct customPp *cpp,
 	char *type, struct customTrack *track);
 /* Figure out factory that can handle this track.  The track is
  * loaded from the track line if any, and type is the type element
  * if any from that track. */
 
 void customFactoryAdd(struct customFactory *fac);
 /* Add factory to global custom track factory list. */
 
 struct customTrack *customFactoryParse(char *genomeDb, char *text, boolean isFile,
 	struct slName **retBrowserLines);
 /* Parse text into a custom set of tracks.  Text parameter is a
  * file name if 'isFile' is set.  Die if the track is not for genomeDb. */
 
 struct customTrack *customFactoryParseAnyDb(char *genomeDb, char *text, boolean isFile,
 					    struct slName **retBrowserLines, boolean doParallelLoad);
 /* Parse text into a custom set of tracks.  Text parameter is a
  * file name if 'isFile' is set.  Track does not have to be for hGetDb(). 
  * If doParallelLoad is true, load the big tracks */
 
 void customFactoryTestExistence(char *genomeDb, char *fileName,
                                 boolean *retGotLive, boolean *retGotExpired, struct customTrack **retTrackList);
 /* Test existence of custom track fileName.  If it exists, parse it just 
  * enough to tell whether it refers to database tables and if so, whether 
  * they are alive or have expired.  If they are live, touch them to keep 
  * them active. */
 
 /*  HACK ALERT - The table browser needs to be able to encode its wiggle
  *	data.  This function is temporarily global until a proper method
  *	is used to work this business into the table browser custom
  *	tracks.  Currently this is also called from customSaveTracks()
  *	in customTrack.c in violation of this object's hidden methods.
  */
 void wigLoaderEncoding(struct customTrack *track, char *wigAscii,
 	boolean dbRequested);
 /* encode wigAscii file into .wig and .wib files */
 
 char *customDocParse(char *text);
 /* Return description text, expanding URLs as for custom track data */
 
 char *ctInitialPosition(struct customTrack *ct);
 /* return initial position plucked from browser lines, or
  * first item in track, or NULL if no items or browser line */
 
 char *ctDataUrl(struct customTrack *ct);
 /* return URL where data can be reloaded, if any */
 
 char *ctHtmlUrl(struct customTrack *ct);
 /* return URL where doc can be reloaded, if any */
 
 char *ctInputType(struct customTrack *ct);
 /* return type of input */
 
 int ctItemCount(struct customTrack *ct);
 /* return number of 'items' in track, or -1 if unknown */
 
 char *ctFirstItemPos(struct customTrack *ct);
 /* return position of first item in track, or NULL if wiggle or
  * other "non-item" track */
 
 char *ctGenome(struct customTrack *ct);
 /* return database setting */
 
 char *ctOrigTrackLine(struct customTrack *ct);
 /* return initial setting by user for track line */
 
 void customTrackUpdateFromConfig(struct customTrack *ct, char *genomeDb,
                                  char *config, struct slName **retBrowserLines);
 /* update custom track from config containing track line and browser lines 
  * Return browser lines */
 
 char *customTrackUserConfig(struct customTrack *ct);
 /* return user-defined track line and browser lines */
 
 void customFactoryEnableExtraChecking(boolean enable);
 /* Enable/disable extra checking of custom tracks in customFactoryParse.
  * E.g. extra checking is great the first time we read in a custom track,
  * but we don't need it for every hgTracks call. */
 
 boolean isValidBigDataUrl(char *url, boolean doAbort);
 /* return True if the URL is a valid bigDataUrl. 
  * It can be a local filename if this is allowed by udc.localDir 
  */
 #endif /* CUSTOMFACTORY_H */