Difference between revisions of "VFS source relationships"

From Second Life Wiki
Jump to navigation Jump to search
m (llvfile.cpp finished..)
(Other functions in \vfs folder)
Line 3: Line 3:
Some common elements have deep and repetitive structures that make it difficult to see the overarching major components. These common elements that repeat frequently are shown separately at the end of this page.
Some common elements have deep and repetitive structures that make it difficult to see the overarching major components. These common elements that repeat frequently are shown separately at the end of this page.


lldir.cpp: -- Implementation of directory utilities base class
    <sys/stat.h> (if not Windows)
    <sys/types.h> (if not Windows)
    <direct.h> (if Windows)
    lldir.h
    llerror.h: (see reference)
    lluuid.h:
        <iostream>
        <set>
        llstring.h: (see reference)
    lldir_win32.h: (if Windows)
        lldir.h
    lldir_mac.h: (if mac)
        lldir.h
        <stdio.h>
        <dirent.h>
    lldir_linux.h: (if linux)
        lldir.h
        <stdio.h>
        <dirent.h>
        <errno.h>
lldir_linux.cpp: -- Implementation of directory utilities for linux
    linden_common.h: (see reference)
    lldir_linux.h:
        lldir.h
        <stdio.h>
        <dirent.h>
        <errno.h>
    llerror.h: (see reference)
    llrand.h
    <sys/types.h>
    <sys/stat.h>
    <unistd.h>
    <glob.h>
    <pwd.h>
lldir_mac.cpp: -- Implementation of directory utilities for linux
    linden_common.h: (see reference)
    lldir_mac.h:
        lldir.h
        <stdio.h>
        <dirent.h>
    llerror.h: (see reference)
    llrand.h
    <sys/types.h>
    <sys/stat.h>
    <unistd.h>
    <glob.h>


lldir_win32.cpp: -- Implementation of directory utilities for windows
    linden_common.h: (see reference)
    lldir_win32.h:
        lldir.h
    llerror.h: (see reference)
    shlobj.h: <i>(Not a linden source file)</i>
    llrand.h
    <direct.h>
    <sys/types.h>
    <sys/stat.h>


llvfile.cpp:
llvfile.cpp: -- Implementation of virtual file (??)
     linden_common.h (see reference)
     linden_common.h (see reference)
     llerror.h (see reference)
     llerror.h (see reference)
Line 25: Line 84:
     llvfsthread.h
     llvfsthread.h
         llapr.h (see reference)
         llapr.h (see reference)
         llqueuedthread.h
         llqueuedthread.h (see reference)
            <queue>
            <string>
            <map>
            <set>
            llapr.h: (see reference)
            llthread.h: (see reference)
            llsimplehash.h:
                llstl.h:
                    <functional>
                    <algorithm>
                    <map>
                    <vector>
                    <set>
                    <deque>
                    <stdio.h>
                    <stdarg.h>
         llvfs.h:
         llvfs.h:
             <stdio.h>
             <stdio.h>
Line 54: Line 97:
             llthread.h: (see reference)
             llthread.h: (see reference)


llvfs.cpp:
llvfs.cpp: -- Implementation of virtual file system
     <stdio.h>
     <stdio.h>
     <sys/stat.h>
     <sys/stat.h>
Line 83: Line 126:
         <stdarg.h>
         <stdarg.h>


llvfsthread.cpp:
llvfsthread.cpp:  
     linden_common.h (see reference)
     linden_common.h (see reference)
     llmath.h:
     llmath.h:
Line 95: Line 138:
     llvfsthread.h:
     llvfsthread.h:
         llapr.h (see reference)
         llapr.h (see reference)
         llqueuedthread.h
         llqueuedthread.h (see reference)
            <queue>
            <string>
            <map>
            <set>
            llapr.h: (see reference)
            llthread.h: (see reference)
            llsimplehash.h:
                llstl.h:
                    <functional>
                    <algorithm>
                    <map>
                    <vector>
                    <set>
                    <deque>
                    <stdio.h>
                    <stdarg.h>
         llvfs.h:
         llvfs.h:
             <stdio.h>
             <stdio.h>
Line 234: Line 261:
                 <limits.h>
                 <limits.h>
                 <float.h>
                 <float.h>
<b>llqueuedthread.h</b> -- ??? (part of process threading management)
    <queue>
    <string>
    <map>
    <set>
    llapr.h: (see reference)
    llthread.h: (see reference)
    llsimplehash.h:
        llstl.h:
            <functional>
            <algorithm>
            <map>
            <vector>
            <set>
            <deque>
            <stdio.h>
            <stdarg.h>


<b>llstring.h</b> -- String utility functions and LLString class
<b>llstring.h</b> -- String utility functions and LLString class

Revision as of 23:22, 17 January 2007

This is an attempt to walk through the source tree and document the relationships of each source file with its includes.

Some common elements have deep and repetitive structures that make it difficult to see the overarching major components. These common elements that repeat frequently are shown separately at the end of this page.

lldir.cpp: -- Implementation of directory utilities base class

   <sys/stat.h> (if not Windows)
   <sys/types.h> (if not Windows)
   <direct.h> (if Windows)
   lldir.h
   llerror.h: (see reference)
   lluuid.h:
       <iostream>
       <set>
       llstring.h: (see reference)
   lldir_win32.h: (if Windows)
       lldir.h
   lldir_mac.h: (if mac)
       lldir.h
       <stdio.h>
       <dirent.h>
   lldir_linux.h: (if linux)
       lldir.h
       <stdio.h>
       <dirent.h>
       <errno.h>

lldir_linux.cpp: -- Implementation of directory utilities for linux

   linden_common.h: (see reference)
   lldir_linux.h:
       lldir.h
       <stdio.h>
       <dirent.h>
       <errno.h>
   llerror.h: (see reference)
   llrand.h
   <sys/types.h>
   <sys/stat.h>
   <unistd.h>
   <glob.h>
   <pwd.h>

lldir_mac.cpp: -- Implementation of directory utilities for linux

   linden_common.h: (see reference)
   lldir_mac.h:
       lldir.h
       <stdio.h>
       <dirent.h>
   llerror.h: (see reference)
   llrand.h
   <sys/types.h>
   <sys/stat.h>
   <unistd.h>
   <glob.h>

lldir_win32.cpp: -- Implementation of directory utilities for windows

   linden_common.h: (see reference)
   lldir_win32.h:
       lldir.h
   llerror.h: (see reference)
   shlobj.h: (Not a linden source file)
   llrand.h
   <direct.h>
   <sys/types.h>
   <sys/stat.h>

llvfile.cpp: -- Implementation of virtual file (??)

   linden_common.h (see reference)
   llerror.h (see reference)
   llthread.h (see reference)
   llvfile.h:
       lluuid.h
       llassetttype.h
       llvfs.h:
           <stdio>
           <map>
           <deque>
           lluuid.h:
               llstring.h: (see reference)
           linked_lists.h
               llerror.h: (see reference)
           llassettype.h:
               stdenums.h
           llthread.h: (see reference)
   llvfsthread.h
       llapr.h (see reference)
       llqueuedthread.h (see reference)
       llvfs.h:
           <stdio.h>
           <map>
           <deque>
           lluuid.h:
               llstring.h (see reference)
           linked_lists.h:
               llerror.h (see reference)
           llassettype.h:
               stdenums.h
           llthread.h: (see reference)

llvfs.cpp: -- Implementation of virtual file system

   <stdio.h>
   <sys/stat.h>
   <time.h>
   <set>
   <map>
   <share.h> (if windows)
   <sys/file.h (if not windows)
   llvfs.h:
       <stdio>
       <map>
       <deque>
       lluuid.h:
           llstring.h: (see reference)
       linked_lists.h
           llerror.h: (see reference)
       llassettype.h:
           stdenums.h
       llthread.h: (see reference)
   llstl.h: 
       <functional>
       <algorithm>
       <map>
       <vector>
       <set>
       <deque>
       <stdio.h>
       <stdarg.h>

llvfsthread.cpp:

   linden_common.h (see reference)
   llmath.h:
       <cmath>
       <math.h>
       <stdlib.h>
       lldefs.h:
           stdtypes.h:
               <limits.h>
               <float.h>
   llvfsthread.h:
       llapr.h (see reference)
       llqueuedthread.h (see reference)
       llvfs.h:
           <stdio.h>
           <map>
           <deque>
           lluuid.h:
               llstring.h (see reference)
           linked_lists.h:
               llerror.h (see reference)
           llassettype.h:
               stdenums.h
           llthread.h: (see reference)
   llstl.h 
       <functional>
       <algorithm>
       <map>
       <vector>
       <set>
       <deque>
       <stdio.h>
       <stdarg.h>


Common source elements

linden_common.h: -- Includes common headers that are always safe to include

   llpreprocessor.h:
       <endian.h> (if linux)
   <string.h>
   <math.h>
   <stdio.h>
   <stdlib.h>
   <iostream>
   <fstream>
   <vector>
   <string>
   llfile.h:
       <string>
       <stdio.h>
       <sys/stat.h>
       <fstream>
       stdtypes.h:
           <limits.h>
           <float.h>
   stdtypes.h:
       <limits.h>
       <float.h>
   lldefs.h:
       stdtypes.h:
           <limits.h>
           <float.h>
   llerror.h (common ref below)
   llstring.h (common ref below)
   lltimer.h:
       <time.h> (if darwin)
       <sys/time.h> (if darwin)
       <list>
   llfasttimer.h:
       lltimer.h:
           <time.h> (if darwin)
           <sys/time.h> (if darwin)
           <list>
   llsys.h:
       <iosfwd>
       <string>

llapr.h -- Apache Portable Runtime

   <sys/param.h> (if linux)
   boost/noncopyable.hpp
   apr-1/apr_thread_proc.h
   apr-1/apr_thread_mutex.h
   apr-1/apr_getopt.h
   apr-1/apr_signal.h
   apr-1/apr_atomic.h
   llstring.h (common ref below)

llerror.h: -- Constants, functions, and macros for logging and runtime errors

   <sstream>
   <stdio.h>
   <stdarg.h>
   llerrorstream.h:
       <iostream>
       llerrorbuffer.h:
           <fstream>
           <iostream>
           <string>
           lldefs.h:
               stdtypes.h:
                   <limits.h>
                   <float.h>
           stdtypes.h:
               <limits.h>
               <float.h>
           llfile.h:
               <string>
               <stdio.h>
               <sys/stat.h>
               <fstream>
               stdtypes.h:
                   <limits.h>
                   <float.h>
       stdtypes.h:
           <limits.h>
           <float.h>
   llerrorbuffer.h:
       <fstream>
       <iostream>
       <string>
       lldefs.h:
           stdtypes.h:
               <limits.h>
               <float.h>
       stdtypes.h
           <limits.h>
           <float.h>
       llfile.h:
           <string>
           <stdio.h>
           <sys/stat.h>
           <fstream>
           stdtypes.h:
               <limits.h>
               <float.h>

llqueuedthread.h -- ??? (part of process threading management)

   <queue>
   <string>
   <map>
   <set>
   llapr.h: (see reference)
   llthread.h: (see reference)
   llsimplehash.h:
       llstl.h:
           <functional>
           <algorithm>
           <map>
           <vector>
           <set>
           <deque>
           <stdio.h>
           <stdarg.h>

llstring.h -- String utility functions and LLString class

   stdtypes.h:
       <limits.h>
       <float.h>
   llerror.h: (see reference)
   <algorithm>
   <map>
   <stdio.h>
   <ctype.h>
   <stdlib.h>
   <errno.h>
   <math.h>
   <wctype.h> (if linux)
   <wchar.h> (if linux)

llthread.h -- Base classes for thread, mutex and condition handling

   llapr.h (see reference)
   apr-1/apr-thread-cond.h
   llapp.h:
       <map>
       llapr.h (see reference)
       llrun.h:
           <vector>
           <boost/shared_ptr.hpp>
       llsd.h:
           <map>
           <string>
           <vector>
           stdtypes.h:
               <limits.h>
               <float.h>
           lldate.h:
               <iosfwd>
               stdtypes.h:
                   <limits.h>
                   <float.h>
           lluri.h:
               <string>
           ../llmath/lluuid.h:
               <iostream>
               <set>
               llstring.h (see reference)