Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:15:27

0001 /* 
0002  * Motif
0003  *
0004  * Copyright (c) 1987-2012, The Open Group. All rights reserved.
0005  *
0006  * These libraries and programs are free software; you can
0007  * redistribute them and/or modify them under the terms of the GNU
0008  * Lesser General Public License as published by the Free Software
0009  * Foundation; either version 2 of the License, or (at your option)
0010  * any later version.
0011  *
0012  * These libraries and programs are distributed in the hope that
0013  * they will be useful, but WITHOUT ANY WARRANTY; without even the
0014  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
0015  * PURPOSE. See the GNU Lesser General Public License for more
0016  * details.
0017  *
0018  * You should have received a copy of the GNU Lesser General Public
0019  * License along with these librararies and programs; if not, write
0020  * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
0021  * Floor, Boston, MA 02110-1301 USA
0022 */ 
0023 #ifndef _XmProtocolsP_h
0024 #define _XmProtocolsP_h
0025 
0026 #include <Xm/Protocols.h>
0027 #include <Xm/ExtObjectP.h>
0028 #ifdef __cplusplus
0029 extern "C" {
0030 #endif
0031 
0032 typedef struct _XmProtocolClassPart {
0033     XtPointer   extension;
0034 } XmProtocolClassPart;
0035 
0036 typedef struct _XmProtocolClassRec {
0037     ObjectClassPart object_class;
0038     XmExtClassPart  ext_class;
0039     XmProtocolClassPart protocol_class;
0040 } XmProtocolClassRec, *XmProtocolObjectClass;
0041 
0042 typedef struct _XmProtocolPart {
0043     XtCallbackRec   pre_hook, post_hook;
0044     XtCallbackList  callbacks;
0045     Atom        atom;
0046     Boolean     active;
0047 } XmProtocolPart, *XmProtocolPartPtr;
0048 
0049 typedef struct _XmProtocolRec {
0050     ObjectPart          object;
0051     XmExtPart           ext;
0052     XmProtocolPart      protocol;
0053 } XmProtocolRec, *XmProtocol, **XmProtocolList;
0054 
0055 #ifndef XmIsProtocol
0056 #define XmIsProtocol(w) XtIsSubclass(w, xmProtocolObjectClass)
0057 #endif /* XmIsProtocol */
0058 
0059 /* Class record constants */
0060 
0061 externalref XmProtocolClassRec  xmProtocolClassRec;
0062 externalref WidgetClass xmProtocolObjectClass;
0063 
0064 typedef struct _XmProtocolMgrRec{
0065     Atom        property;
0066     XmProtocolList  protocols;
0067     Cardinal        num_protocols;
0068     Cardinal        max_protocols;
0069 }XmProtocolMgrRec, *XmProtocolMgr, **XmProtocolMgrList;
0070 
0071 
0072 typedef struct _XmAllProtocolsMgrRec{
0073   XmProtocolMgrList protocol_mgrs;
0074   Cardinal      num_protocol_mgrs;
0075   Cardinal      max_protocol_mgrs;
0076   Widget        shell;
0077 }XmAllProtocolsMgrRec, *XmAllProtocolsMgr;
0078     
0079 
0080 #ifdef __cplusplus
0081 }  /* Close scope of 'extern "C"' declaration which encloses file. */
0082 #endif
0083 
0084 #endif /* _XmProtocolsP_h */