home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / ifl_c / iflDatabase.z / iflDatabase
Encoding:
Text File  |  2002-10-03  |  10.4 KB  |  265 lines

  1.  
  2.  
  3.  
  4. iiiiffffllllDDDDaaaattttaaaabbbbaaaasssseeee((((3333))))    IIIImmmmaaaaggggeeee FFFFoooorrrrmmmmaaaatttt LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll     iiiiffffllllDDDDaaaattttaaaabbbbaaaasssseeee((((3333))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      iiiiffffllllDDDDaaaattttaaaabbbbaaaasssseeee - access to image file format database
  10.  
  11. IIIINNNNHHHHEEEERRRRIIIITTTTSSSS FFFFRRRROOOOMMMM
  12.      This is a base class with no inheritance.
  13.  
  14.  
  15. HHHHEEEEAAAADDDDEEEERRRR FFFFIIIILLLLEEEE
  16.      #include <il/ilCdefs.h>
  17.  
  18.  
  19. CCCCLLLLAAAASSSSSSSS DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  20.      iflDatabase is a lightweight version of the iflFormat class, with
  21.      abbreviated functionality.  Basically, the information here is what can
  22.      be obtained from variables in the file format database without opening
  23.      the specific DSO.  Looking up an object of this class will never cause a
  24.      DSO to be opened.  The intended use is by apps who know they only need
  25.      the restricted methods provided here.
  26.  
  27.      Refer to the iflFormat(3) man page for more detail on iflFormat
  28.      functionality.
  29.  
  30. CCCCLLLLAAAASSSSSSSS MMMMEEEEMMMMBBBBEEEERRRR FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNN SSSSUUUUMMMMMMMMAAAARRRRYYYY
  31.    FFFFoooorrrrmmmmaaaatttt llllooooooookkkkuuuupppp
  32.           static iflDatabase* iflDatabaseFindNext(iflDatabase *obj,
  33.                                                   int* index)
  34.           static iflDatabase* iflDatabaseFindByMagic(iflDatabase *obj,
  35.                                                      int fd)
  36.           static iflDatabase* iflDatabaseFindByFormatName(iflDatabase *obj,
  37.                                                           const char* formatName)
  38.           static iflDatabase* iflDatabaseFindByFileName(iflDatabase *obj,
  39.                                                         const char* fileName,
  40.                                                         int noMatchRule)
  41.  
  42.  
  43.    AAAAttttttttrrrriiiibbbbuuuutttteeee qqqquuuueeeerrrriiiieeeessss
  44.           const char* iflDatabaseGetName(iflDatabase *obj)
  45.           const char* iflDatabaseGetDefaultSuffix(iflDatabase *obj)
  46.           const char* iflDatabaseGetDescription(iflDatabase *obj)
  47.           int iflDatabaseAccessModeIsSupported(iflDatabase *obj,
  48.                                                int mode)
  49.           const char* iflDatabaseGetDSOName(iflDatabase *obj)
  50.           const char* iflDatabaseGetInstSubSystem(iflDatabase *obj)
  51.  
  52.  
  53.    CCCCoooonnnnvvvveeeerrrrssssiiiioooonnnn ttttoooo iiiiffffllllFFFFoooorrrrmmmmaaaatttt
  54.           iflFormat* iflDatabaseGetFormat(iflDatabase *obj, int openDSOifNecessary)
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. iiiiffffllllDDDDaaaattttaaaabbbbaaaasssseeee((((3333))))    IIIImmmmaaaaggggeeee FFFFoooorrrrmmmmaaaatttt LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll     iiiiffffllllDDDDaaaattttaaaabbbbaaaasssseeee((((3333))))
  71.  
  72.  
  73.  
  74. FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNN DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNNSSSS
  75.      aaaacccccccceeeessssssssMMMMooooddddeeeeIIIIssssSSSSuuuuppppppppoooorrrrtttteeeedddd(((())))
  76.  
  77.           int iflDatabaseAccessModeIsSupported(iflDatabase *obj,
  78.                                                int mode)
  79.  
  80.  
  81.           This member function tells whether the given access mode (which must
  82.           be one of _O__R_D_O_N_L_Y, _O__W_R_O_N_L_Y, or _O__R_D_W_R) is supported by the
  83.           subclass.
  84.  
  85.      ffffiiiinnnnddddBBBByyyyFFFFiiiilllleeeeNNNNaaaammmmeeee(((())))
  86.  
  87.           static iflDatabase* iflDatabaseFindByFileName(iflDatabase *obj,
  88.                                                         const char* fileName,
  89.                                                         int noMatchRule)
  90.  
  91.  
  92.           This static class member function is used to look up an image file
  93.           format by file name, where the file name is given by the _f_i_l_e_N_a_m_e
  94.           argument.  This is accomplished by matching the tail end of _f_i_l_e_N_a_m_e
  95.           against each value of the suffixes variable given for each image
  96.           file format in the FTR database.  The _n_o_M_a_t_c_h_R_u_l_e argument can be
  97.           used to limit searching to those formats that have no match rule.
  98.  
  99.      ffffiiiinnnnddddBBBByyyyFFFFoooorrrrmmmmaaaattttNNNNaaaammmmeeee(((())))
  100.  
  101.           static iflDatabase* iflDatabaseFindByFormatName(iflDatabase *obj,
  102.                                                           const char* formatName)
  103.  
  104.  
  105.           This static class member function is used to look up an image file
  106.           format by name, where the name is given by the _f_o_r_m_a_t_N_a_m_e argument.
  107.  
  108.      ffffiiiinnnnddddBBBByyyyMMMMaaaaggggiiiicccc(((())))
  109.  
  110.           static iflDatabase* iflDatabaseFindByMagic(iflDatabase *obj,
  111.                                                      int fd)
  112.  
  113.  
  114.           This static class member function is used to look up an image file
  115.           format by magic number of a given file that is open for reading with
  116.           the file descriptor, _f_d.
  117.  
  118.      ffffiiiinnnnddddNNNNeeeexxxxtttt(((())))
  119.  
  120.           static iflDatabase* iflDatabaseFindNext(iflDatabase *obj,
  121.                                                   int* index)
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. iiiiffffllllDDDDaaaattttaaaabbbbaaaasssseeee((((3333))))    IIIImmmmaaaaggggeeee FFFFoooorrrrmmmmaaaatttt LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll     iiiiffffllllDDDDaaaattttaaaabbbbaaaasssseeee((((3333))))
  137.  
  138.  
  139.  
  140.           This static class member function is used to step through the
  141.           (static, lazily created) list of supported file formats.
  142.  
  143.      To start searching initialize the _i_n_d_e_x paramter to zero.  It will be
  144.      automatically updated by each call so that successive calls will iterate
  145.      through all available formats.  If there are no more formats, the
  146.      function returns NULL.
  147.  
  148.           The following example prints the names of all supported formats:
  149.  
  150.               iflDatabase *db;
  151.               int index = 0;
  152.               while ((db = iflDatabase::findNext(index)) != NULL)
  153.                   printf("%s0, db->getName());
  154.  
  155.  
  156.      ggggeeeettttDDDDSSSSOOOONNNNaaaammmmeeee(((())))
  157.  
  158.           const char* iflDatabaseGetDSOName(iflDatabase *obj)
  159.  
  160.  
  161.           This member function returns the 'soname' for the DSO that
  162.           implements this format (used internally to pass to ddddllllooooppppeeeennnn()).
  163.  
  164.      ggggeeeettttDDDDeeeeffffaaaauuuullllttttSSSSuuuuffffffffiiiixxxx(((())))
  165.  
  166.           const char* iflDatabaseGetDefaultSuffix(iflDatabase *obj)
  167.  
  168.  
  169.           This member function returns the default filename suffix (the first
  170.           suffix listed in the "suffixes" declaration for a format in the IFL
  171.           format database). The returned value is a pointer to a static string
  172.           that is valid forever. Note that the returned value may be NULL.
  173.  
  174.      ggggeeeettttDDDDeeeessssccccrrrriiiippppttttiiiioooonnnn(((())))
  175.  
  176.           const char* iflDatabaseGetDescription(iflDatabase *obj)
  177.  
  178.  
  179.           This member function returns the format description, or NULL if
  180.           there is none.
  181.  
  182.      ggggeeeettttFFFFoooorrrrmmmmaaaatttt(((())))
  183.  
  184.           iflFormat* iflDatabaseGetFormat(iflDatabase *obj, int openDSOifNecessary)
  185.  
  186.  
  187.           This method returns the full iflFormat correspnding to this
  188.           iflDatabase object.  This may involve some overhead the first time a
  189.           particular format is accessed (opening the DSO and such).
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. iiiiffffllllDDDDaaaattttaaaabbbbaaaasssseeee((((3333))))    IIIImmmmaaaaggggeeee FFFFoooorrrrmmmmaaaatttt LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll     iiiiffffllllDDDDaaaattttaaaabbbbaaaasssseeee((((3333))))
  203.  
  204.  
  205.  
  206.      ggggeeeettttIIIInnnnssssttttSSSSuuuubbbbSSSSyyyysssstttteeeemmmm(((())))
  207.  
  208.           const char* iflDatabaseGetInstSubSystem(iflDatabase *obj)
  209.  
  210.  
  211.           This member function returns the inst sub-system that must be
  212.           installed to use this format.  This is used internally to format
  213.           error messages.
  214.  
  215.      ggggeeeettttNNNNaaaammmmeeee(((())))
  216.  
  217.           const char* iflDatabaseGetName(iflDatabase *obj)
  218.  
  219.  
  220.           This member function returns the format name, which is a pointer to
  221.           a static string that is valid forever.
  222.  
  223. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  224.      iflFormat
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.