14fee23f9Smrg /* Declare the class Protocol for Objective C programs. 2*b1e83836Smrg Copyright (C) 1993-2022 Free Software Foundation, Inc. 34fee23f9Smrg 44fee23f9Smrg This file is part of GCC. 54fee23f9Smrg 64fee23f9Smrg GCC is free software; you can redistribute it and/or modify 74fee23f9Smrg it under the terms of the GNU General Public License as published by 84fee23f9Smrg the Free Software Foundation; either version 3, or (at your option) 94fee23f9Smrg any later version. 104fee23f9Smrg 114fee23f9Smrg GCC is distributed in the hope that it will be useful, 124fee23f9Smrg but WITHOUT ANY WARRANTY; without even the implied warranty of 134fee23f9Smrg MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 144fee23f9Smrg GNU General Public License for more details. 154fee23f9Smrg 164fee23f9Smrg Under Section 7 of GPL version 3, you are granted additional 174fee23f9Smrg permissions described in the GCC Runtime Library Exception, version 184fee23f9Smrg 3.1, as published by the Free Software Foundation. 194fee23f9Smrg 204fee23f9Smrg You should have received a copy of the GNU General Public License and 214fee23f9Smrg a copy of the GCC Runtime Library Exception along with this program; 224fee23f9Smrg see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 234fee23f9Smrg <http://www.gnu.org/licenses/>. */ 244fee23f9Smrg 254fee23f9Smrg 264fee23f9Smrg #ifndef __Protocol_INCLUDE_GNU 274fee23f9Smrg #define __Protocol_INCLUDE_GNU 284fee23f9Smrg 294fee23f9Smrg #include "Object.h" 304fee23f9Smrg 314fee23f9Smrg #ifdef __cplusplus 324fee23f9Smrg extern "C" { 334fee23f9Smrg #endif 344fee23f9Smrg 354fee23f9Smrg @interface Protocol : Object 364fee23f9Smrg { 374fee23f9Smrg @private 384fee23f9Smrg char *protocol_name; 394fee23f9Smrg struct objc_protocol_list *protocol_list; 404fee23f9Smrg struct objc_method_description_list *instance_methods, *class_methods; 414fee23f9Smrg } 424fee23f9Smrg @end 434fee23f9Smrg 4448fb7bfaSmrg /* The Protocol methods have been replaced by 4548fb7bfaSmrg protocol_getName() 4648fb7bfaSmrg protocol_conformsToProtocol() 4748fb7bfaSmrg protocol_getMethodDescription() 4848fb7bfaSmrg */ 4948fb7bfaSmrg 504fee23f9Smrg #ifdef __cplusplus 514fee23f9Smrg } 524fee23f9Smrg #endif 534fee23f9Smrg 544fee23f9Smrg #endif /* not __Protocol_INCLUDE_GNU */ 55