home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / warphead.zip / H / XEMBEDED.H < prev    next >
C/C++ Source or Header  |  1997-02-28  |  5KB  |  99 lines

  1. /*====START_GENERATED_PROLOG======================================
  2.  */
  3. /*
  4.  *   COMPONENT_NAME: odconfig
  5.  *
  6.  *   CLASSES: none
  7.  *
  8.  *   ORIGINS: 82,27
  9.  *
  10.  *
  11.  *   (C) COPYRIGHT International Business Machines Corp. 1995,1996
  12.  *   All Rights Reserved
  13.  *   Licensed Materials - Property of IBM
  14.  *   US Government Users Restricted Rights - Use, duplication or
  15.  *   disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  16.  *       
  17.  *   IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  18.  *   ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  19.  *   PURPOSE. IN NO EVENT SHALL IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR
  20.  *   CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
  21.  *   USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
  22.  *   OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE
  23.  *   OR PERFORMANCE OF THIS SOFTWARE.
  24.  */
  25. /*====END_GENERATED_PROLOG========================================
  26.  */
  27. /* @(#) 1.3 com/src/registry/xembeded.h, odconfig, od96os2, odos29646d 10/31/96 12:45:17 [11/15/96 15:49:47] */
  28. /* (use tabs = 2 to view this file correctly) */
  29. /*---------------------------------------------------------------------------*
  30.  |                                                                           |
  31.  |                     <<<        XEmbeded.h         >>>                     |
  32.  |                                                                           |
  33.  |      Example Container Manager Embedded Container Handlers Interfaces     |
  34.  |                                                                           |
  35.  |                               Ira L. Ruben                                |
  36.  |                                  1/8/92                                   |
  37.  |                                                                           |
  38.  |                    Copyright Apple Computer, Inc. 1992                    |
  39.  |                           All rights reserved.                            |
  40.  |                                                                           |
  41.  *---------------------------------------------------------------------------*
  42.  
  43.  This file represents the handler header file for the example embedded container handler
  44.  file ExampleEmbeddedHandler.c.  That file contains complete documentation and an example
  45.  on how to write a set of handlers and a metahandler for the Container Manager API that
  46.  supports embedded containers.
  47.  
  48.  The example is a complete working set of handlers for embedded containers.  Such handlers
  49.  do all "I/O" in terms of API calls for a value.  Thus this example is fully general to
  50.  support all forms of embedded containers!
  51.  
  52.  To make this a working example, and to hide its details from the "outside world", this
  53.  header is provided.  As documented in        XEmbeded.c         there are a few
  54.  additional routines that have nothing to do with the API handlers per-se.  Rather they
  55.  allow for manipulation of some of the hidden information.
  56.  
  57.  See        XEmbeded.c         for complete documentation on these routines.
  58. */
  59.  
  60. #ifndef __EXAMPLEEMBEDDEDHANDLERS__
  61. #define __EXAMPLEEMBEDDEDHANDLERS__
  62.  
  63. #include "CMAPI.h" 
  64.  
  65.                                 CM_CFUNCTIONS
  66.  
  67. /*------------------------------*
  68.  | Routines REQUIRED by the API |
  69.  *------------------------------*/
  70.   
  71. CMHandlerAddr CM_FIXEDARGS embeddedContainerMetahandler(CMType targetType, CMconst_CMGlobalName operationType);
  72.   /*
  73.   Metahandler proc for determining the addresses of the handler operation routines.  Pass
  74.   the address of this routine to a CMSetMetaHandler() call.
  75.   */
  76.  
  77.  
  78. /*------------------------------------------------------------------*
  79.  | Auxiliary routines to make the example available for general use |
  80.  *------------------------------------------------------------------*/
  81.  
  82. CMRefCon CM_FIXEDARGS createRefConForMyEmbHandlers(const CMValue parentValue);
  83.   /*
  84.   Create a reference constant (a "refCon") for container handler use.  Passed as the
  85.   "attributes" to CMOpen[New]Container() and used as the "refCon" for all handler calls.
  86.   */
  87.   
  88.   
  89. CMRefCon CM_FIXEDARGS setEmbeddedHandlersTrace(CMRefCon refCon, const char tracingState,
  90.                                                 FILE CM_PTR *tracingFile);
  91.   /*
  92.   Enable (tracingState != 0) or disable (tracingState == 0) handler tracing to the
  93.   tracingFile.  This routine returns the refCon as its result.
  94.   */
  95.  
  96.                               CM_END_CFUNCTIONS
  97.  
  98. #endif
  99.