mirror of
https://github.com/Gator96100/ProxSpace.git
synced 2025-07-31 03:50:15 -07:00
Updated msys2 to msys2-base-x86_64-20200903
This commit is contained in:
parent
5bc8dbdc75
commit
2307d54cb1
18501 changed files with 1684082 additions and 720361 deletions
147
msys2/usr/include/tclOO.h
Normal file
147
msys2/usr/include/tclOO.h
Normal file
|
@ -0,0 +1,147 @@
|
|||
/*
|
||||
* tclOO.h --
|
||||
*
|
||||
* This file contains the public API definitions and some of the function
|
||||
* declarations for the object-system (NB: not Tcl_Obj, but ::oo).
|
||||
*
|
||||
* Copyright (c) 2006-2010 by Donal K. Fellows
|
||||
*
|
||||
* See the file "license.terms" for information on usage and redistribution of
|
||||
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
*/
|
||||
|
||||
#ifndef TCLOO_H_INCLUDED
|
||||
#define TCLOO_H_INCLUDED
|
||||
|
||||
/*
|
||||
* Be careful when it comes to versioning; need to make sure that the
|
||||
* standalone TclOO version matches. Also make sure that this matches the
|
||||
* version in the files:
|
||||
*
|
||||
* tests/oo.test
|
||||
* tests/ooNext2.test
|
||||
* unix/tclooConfig.sh
|
||||
* win/tclooConfig.sh
|
||||
*/
|
||||
|
||||
#define TCLOO_VERSION "1.1.0"
|
||||
#define TCLOO_PATCHLEVEL TCLOO_VERSION
|
||||
|
||||
#include "tcl.h"
|
||||
|
||||
/*
|
||||
* For C++ compilers, use extern "C"
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
extern const char *TclOOInitializeStubs(
|
||||
Tcl_Interp *, const char *version);
|
||||
#define Tcl_OOInitStubs(interp) \
|
||||
TclOOInitializeStubs((interp), TCLOO_VERSION)
|
||||
#ifndef USE_TCL_STUBS
|
||||
# define TclOOInitializeStubs(interp, version) (TCLOO_PATCHLEVEL)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* These are opaque types.
|
||||
*/
|
||||
|
||||
typedef struct Tcl_Class_ *Tcl_Class;
|
||||
typedef struct Tcl_Method_ *Tcl_Method;
|
||||
typedef struct Tcl_Object_ *Tcl_Object;
|
||||
typedef struct Tcl_ObjectContext_ *Tcl_ObjectContext;
|
||||
|
||||
/*
|
||||
* Public datatypes for callbacks and structures used in the TIP#257 (OO)
|
||||
* implementation. These are used to implement custom types of method calls
|
||||
* and to allow the attachment of arbitrary data to objects and classes.
|
||||
*/
|
||||
|
||||
typedef int (Tcl_MethodCallProc)(ClientData clientData, Tcl_Interp *interp,
|
||||
Tcl_ObjectContext objectContext, int objc, Tcl_Obj *const *objv);
|
||||
typedef void (Tcl_MethodDeleteProc)(ClientData clientData);
|
||||
typedef int (Tcl_CloneProc)(Tcl_Interp *interp, ClientData oldClientData,
|
||||
ClientData *newClientData);
|
||||
typedef void (Tcl_ObjectMetadataDeleteProc)(ClientData clientData);
|
||||
typedef int (Tcl_ObjectMapMethodNameProc)(Tcl_Interp *interp,
|
||||
Tcl_Object object, Tcl_Class *startClsPtr, Tcl_Obj *methodNameObj);
|
||||
|
||||
/*
|
||||
* The type of a method implementation. This describes how to call the method
|
||||
* implementation, how to delete it (when the object or class is deleted) and
|
||||
* how to create a clone of it (when the object or class is copied).
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
int version; /* Structure version field. Always to be equal
|
||||
* to TCL_OO_METHOD_VERSION_CURRENT in
|
||||
* declarations. */
|
||||
const char *name; /* Name of this type of method, mostly for
|
||||
* debugging purposes. */
|
||||
Tcl_MethodCallProc *callProc;
|
||||
/* How to invoke this method. */
|
||||
Tcl_MethodDeleteProc *deleteProc;
|
||||
/* How to delete this method's type-specific
|
||||
* data, or NULL if the type-specific data
|
||||
* does not need deleting. */
|
||||
Tcl_CloneProc *cloneProc; /* How to copy this method's type-specific
|
||||
* data, or NULL if the type-specific data can
|
||||
* be copied directly. */
|
||||
} Tcl_MethodType;
|
||||
|
||||
/*
|
||||
* The correct value for the version field of the Tcl_MethodType structure.
|
||||
* This allows new versions of the structure to be introduced without breaking
|
||||
* binary compatability.
|
||||
*/
|
||||
|
||||
#define TCL_OO_METHOD_VERSION_CURRENT 1
|
||||
|
||||
/*
|
||||
* The type of some object (or class) metadata. This describes how to delete
|
||||
* the metadata (when the object or class is deleted) and how to create a
|
||||
* clone of it (when the object or class is copied).
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
int version; /* Structure version field. Always to be equal
|
||||
* to TCL_OO_METADATA_VERSION_CURRENT in
|
||||
* declarations. */
|
||||
const char *name;
|
||||
Tcl_ObjectMetadataDeleteProc *deleteProc;
|
||||
/* How to delete the metadata. This must not
|
||||
* be NULL. */
|
||||
Tcl_CloneProc *cloneProc; /* How to copy the metadata, or NULL if the
|
||||
* type-specific data can be copied
|
||||
* directly. */
|
||||
} Tcl_ObjectMetadataType;
|
||||
|
||||
/*
|
||||
* The correct value for the version field of the Tcl_ObjectMetadataType
|
||||
* structure. This allows new versions of the structure to be introduced
|
||||
* without breaking binary compatability.
|
||||
*/
|
||||
|
||||
#define TCL_OO_METADATA_VERSION_CURRENT 1
|
||||
|
||||
/*
|
||||
* Include all the public API, generated from tclOO.decls.
|
||||
*/
|
||||
|
||||
#include "tclOODecls.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Local Variables:
|
||||
* mode: c
|
||||
* c-basic-offset: 4
|
||||
* fill-column: 78
|
||||
* End:
|
||||
*/
|
Loading…
Add table
Add a link
Reference in a new issue