Blame src/types.h

Packit Service 50c9f2
/******************************************************************************
Packit Service 50c9f2
 *
Packit Service 50c9f2
 * Copyright (C) 1997-2015 by Dimitri van Heesch.
Packit Service 50c9f2
 *
Packit Service 50c9f2
 * Permission to use, copy, modify, and distribute this software and its
Packit Service 50c9f2
 * documentation under the terms of the GNU General Public License is hereby 
Packit Service 50c9f2
 * granted. No representations are made about the suitability of this software 
Packit Service 50c9f2
 * for any purpose. It is provided "as is" without express or implied warranty.
Packit Service 50c9f2
 * See the GNU General Public License for more details.
Packit Service 50c9f2
 *
Packit Service 50c9f2
 * Documents produced by Doxygen are derivative works derived from the
Packit Service 50c9f2
 * input used in their production; they are not affected by this license.
Packit Service 50c9f2
 *
Packit Service 50c9f2
 */
Packit Service 50c9f2
Packit Service 50c9f2
#ifndef TYPES_H
Packit Service 50c9f2
#define TYPES_H
Packit Service 50c9f2
Packit Service 50c9f2
#include <qcstring.h>
Packit Service 50c9f2
Packit Service 50c9f2
/** @file
Packit Service 50c9f2
 *  @brief This file contains a number of basic enums and types. 
Packit Service 50c9f2
 */
Packit Service 50c9f2
Packit Service 50c9f2
/** Protection level of members */
Packit Service 50c9f2
enum Protection   { Public, Protected, Private, Package } ;
Packit Service 50c9f2
Packit Service 50c9f2
/** Virtualness of a member. */
Packit Service 50c9f2
enum Specifier    { Normal, Virtual, Pure } ;
Packit Service 50c9f2
Packit Service 50c9f2
/** Kind of method */
Packit Service 50c9f2
enum MethodTypes  { Method, Signal, Slot, DCOP, Property, Event };
Packit Service 50c9f2
Packit Service 50c9f2
/** Type of member relation */
Packit Service 50c9f2
enum RelatesType  { Simple, Duplicate, MemberOf };
Packit Service 50c9f2
Packit Service 50c9f2
/** Kind of member relationship */
Packit Service 50c9f2
enum Relationship { Member, Related, Foreign };
Packit Service 50c9f2
Packit Service 50c9f2
/** Language as given by extension */
Packit Service 50c9f2
enum SrcLangExt
Packit Service 50c9f2
{
Packit Service 50c9f2
  SrcLangExt_Unknown  = 0x00000,
Packit Service 50c9f2
  SrcLangExt_IDL      = 0x00008,
Packit Service 50c9f2
  SrcLangExt_Java     = 0x00010,
Packit Service 50c9f2
  SrcLangExt_CSharp   = 0x00020,
Packit Service 50c9f2
  SrcLangExt_D        = 0x00040,
Packit Service 50c9f2
  SrcLangExt_PHP      = 0x00080,
Packit Service 50c9f2
  SrcLangExt_ObjC     = 0x00100,
Packit Service 50c9f2
  SrcLangExt_Cpp      = 0x00200,
Packit Service 50c9f2
  SrcLangExt_JS       = 0x00400,
Packit Service 50c9f2
  SrcLangExt_Python   = 0x00800,
Packit Service 50c9f2
  SrcLangExt_Fortran  = 0x01000,
Packit Service 50c9f2
  SrcLangExt_VHDL     = 0x02000,
Packit Service 50c9f2
  SrcLangExt_XML      = 0x04000,
Packit Service 50c9f2
  SrcLangExt_Tcl      = 0x08000,
Packit Service 50c9f2
  SrcLangExt_Markdown = 0x10000,
Packit Service 50c9f2
  SrcLangExt_SQL = 0x20000
Packit Service 50c9f2
};
Packit Service 50c9f2
Packit Service 50c9f2
/** Grouping info */
Packit Service 50c9f2
struct Grouping 
Packit Service 50c9f2
{
Packit Service 50c9f2
  /** Grouping priority */
Packit Service 50c9f2
  enum GroupPri_t 
Packit Service 50c9f2
  {
Packit Service 50c9f2
    GROUPING_LOWEST,
Packit Service 50c9f2
    GROUPING_AUTO_WEAK = GROUPING_LOWEST,     //!< membership in group was defined via \@weakgroup 
Packit Service 50c9f2
    GROUPING_AUTO_ADD,     //!< membership in group was defined via \@add[to]group 
Packit Service 50c9f2
    GROUPING_AUTO_DEF,     //!< membership in group was defined via \@defgroup
Packit Service 50c9f2
    GROUPING_AUTO_HIGHEST = GROUPING_AUTO_DEF,
Packit Service 50c9f2
    GROUPING_INGROUP,      //!< membership in group was defined by \@ingroup
Packit Service 50c9f2
    GROUPING_HIGHEST = GROUPING_INGROUP
Packit Service 50c9f2
  };
Packit Service 50c9f2
Packit Service 50c9f2
  static const char *getGroupPriName( GroupPri_t priority )
Packit Service 50c9f2
  {
Packit Service 50c9f2
    switch( priority )
Packit Service 50c9f2
    {
Packit Service 50c9f2
      case GROUPING_AUTO_WEAK:
Packit Service 50c9f2
        return "@weakgroup";
Packit Service 50c9f2
      case GROUPING_AUTO_ADD:
Packit Service 50c9f2
        return "@addtogroup";
Packit Service 50c9f2
      case GROUPING_AUTO_DEF:
Packit Service 50c9f2
        return "@defgroup";
Packit Service 50c9f2
      case GROUPING_INGROUP:
Packit Service 50c9f2
        return "@ingroup";
Packit Service 50c9f2
    }	    
Packit Service 50c9f2
    return "???";
Packit Service 50c9f2
  }
Packit Service 50c9f2
Packit Service 50c9f2
  Grouping( const char *gn, GroupPri_t p ) : groupname(gn), pri(p) {}
Packit Service 50c9f2
  Grouping( const Grouping &g ) : groupname(g.groupname), pri(g.pri) {}
Packit Service 50c9f2
  QCString groupname;   //!< name of the group
Packit Service 50c9f2
  GroupPri_t pri;       //!< priority of this definition
Packit Service 50c9f2
Packit Service 50c9f2
};
Packit Service 50c9f2
Packit Service 50c9f2
struct ListItemInfo
Packit Service 50c9f2
{
Packit Service 50c9f2
  QCString type;
Packit Service 50c9f2
  int itemId;
Packit Service 50c9f2
};
Packit Service 50c9f2
Packit Service 50c9f2
enum MemberListType
Packit Service 50c9f2
{
Packit Service 50c9f2
  MemberListType_privateLists       = 0x0800,
Packit Service 50c9f2
  MemberListType_detailedLists      = 0x1000,
Packit Service 50c9f2
  MemberListType_declarationLists   = 0x2000,
Packit Service 50c9f2
  MemberListType_documentationLists = 0x4000,
Packit Service 50c9f2
Packit Service 50c9f2
  MemberListType_pubMethods              = 0,
Packit Service 50c9f2
  MemberListType_proMethods              = 1,
Packit Service 50c9f2
  MemberListType_pacMethods              = 2,
Packit Service 50c9f2
  MemberListType_priMethods              = 3 + MemberListType_privateLists,
Packit Service 50c9f2
  MemberListType_pubStaticMethods        = 4,
Packit Service 50c9f2
  MemberListType_proStaticMethods        = 5,
Packit Service 50c9f2
  MemberListType_pacStaticMethods        = 6,
Packit Service 50c9f2
  MemberListType_priStaticMethods        = 7 + MemberListType_privateLists,
Packit Service 50c9f2
  MemberListType_pubSlots                = 8,
Packit Service 50c9f2
  MemberListType_proSlots                = 9,
Packit Service 50c9f2
  MemberListType_priSlots                = 10 + MemberListType_privateLists,
Packit Service 50c9f2
  MemberListType_pubAttribs              = 11,
Packit Service 50c9f2
  MemberListType_proAttribs              = 12,
Packit Service 50c9f2
  MemberListType_pacAttribs              = 13,
Packit Service 50c9f2
  MemberListType_priAttribs              = 14 + MemberListType_privateLists,
Packit Service 50c9f2
  MemberListType_pubStaticAttribs        = 15,
Packit Service 50c9f2
  MemberListType_proStaticAttribs        = 16,
Packit Service 50c9f2
  MemberListType_pacStaticAttribs        = 17,
Packit Service 50c9f2
  MemberListType_priStaticAttribs        = 18 + MemberListType_privateLists,
Packit Service 50c9f2
  MemberListType_pubTypes                = 19,
Packit Service 50c9f2
  MemberListType_proTypes                = 20,
Packit Service 50c9f2
  MemberListType_pacTypes                = 21,
Packit Service 50c9f2
  MemberListType_priTypes                = 22 + MemberListType_privateLists,
Packit Service 50c9f2
  MemberListType_related                 = 23,
Packit Service 50c9f2
  MemberListType_signals                 = 24,
Packit Service 50c9f2
  MemberListType_friends                 = 25,
Packit Service 50c9f2
  MemberListType_dcopMethods             = 26,
Packit Service 50c9f2
  MemberListType_properties              = 27,
Packit Service 50c9f2
  MemberListType_events                  = 28,
Packit Service 50c9f2
Packit Service 50c9f2
  MemberListType_typedefMembers          = 29 + MemberListType_detailedLists,
Packit Service 50c9f2
  MemberListType_enumMembers             = 30 + MemberListType_detailedLists,
Packit Service 50c9f2
  MemberListType_enumValMembers          = 31 + MemberListType_detailedLists,
Packit Service 50c9f2
  MemberListType_functionMembers         = 32 + MemberListType_detailedLists,
Packit Service 50c9f2
  MemberListType_relatedMembers          = 33 + MemberListType_detailedLists,
Packit Service 50c9f2
  MemberListType_variableMembers         = 34 + MemberListType_detailedLists,
Packit Service 50c9f2
  MemberListType_propertyMembers         = 35 + MemberListType_detailedLists,
Packit Service 50c9f2
  MemberListType_eventMembers            = 36 + MemberListType_detailedLists,
Packit Service 50c9f2
  MemberListType_constructors            = 37 + MemberListType_detailedLists,
Packit Service 50c9f2
Packit Service 50c9f2
  MemberListType_allMembersList          = 38,
Packit Service 50c9f2
Packit Service 50c9f2
  MemberListType_decDefineMembers        = 39 + MemberListType_declarationLists,
Packit Service 50c9f2
  MemberListType_decProtoMembers         = 40 + MemberListType_declarationLists, 
Packit Service 50c9f2
  MemberListType_decTypedefMembers       = 41 + MemberListType_declarationLists,
Packit Service 50c9f2
  MemberListType_decEnumMembers          = 42 + MemberListType_declarationLists,
Packit Service 50c9f2
  MemberListType_decFuncMembers          = 43 + MemberListType_declarationLists,
Packit Service 50c9f2
  MemberListType_decVarMembers           = 44 + MemberListType_declarationLists,
Packit Service 50c9f2
  MemberListType_decEnumValMembers       = 45 + MemberListType_declarationLists,
Packit Service 50c9f2
  MemberListType_decPubSlotMembers       = 46 + MemberListType_declarationLists,
Packit Service 50c9f2
  MemberListType_decProSlotMembers       = 47 + MemberListType_declarationLists,
Packit Service 50c9f2
  MemberListType_decPriSlotMembers       = 48 + MemberListType_declarationLists,
Packit Service 50c9f2
  MemberListType_decSignalMembers        = 49 + MemberListType_declarationLists,
Packit Service 50c9f2
  MemberListType_decEventMembers         = 50 + MemberListType_declarationLists,
Packit Service 50c9f2
  MemberListType_decFriendMembers        = 51 + MemberListType_declarationLists,
Packit Service 50c9f2
  MemberListType_decPropMembers          = 52 + MemberListType_declarationLists,
Packit Service 50c9f2
Packit Service 50c9f2
  MemberListType_docDefineMembers        = 53 + MemberListType_documentationLists,
Packit Service 50c9f2
  MemberListType_docProtoMembers         = 54 + MemberListType_documentationLists,
Packit Service 50c9f2
  MemberListType_docTypedefMembers       = 55 + MemberListType_documentationLists,
Packit Service 50c9f2
  MemberListType_docEnumMembers          = 56 + MemberListType_documentationLists,
Packit Service 50c9f2
  MemberListType_docFuncMembers          = 57 + MemberListType_documentationLists,
Packit Service 50c9f2
  MemberListType_docVarMembers           = 58 + MemberListType_documentationLists,
Packit Service 50c9f2
  MemberListType_docEnumValMembers       = 59 + MemberListType_documentationLists,
Packit Service 50c9f2
  MemberListType_docPubSlotMembers       = 60 + MemberListType_documentationLists,
Packit Service 50c9f2
  MemberListType_docProSlotMembers       = 61 + MemberListType_documentationLists,
Packit Service 50c9f2
  MemberListType_docPriSlotMembers       = 62 + MemberListType_documentationLists,
Packit Service 50c9f2
  MemberListType_docSignalMembers        = 63 + MemberListType_documentationLists,
Packit Service 50c9f2
  MemberListType_docEventMembers         = 64 + MemberListType_documentationLists,
Packit Service 50c9f2
  MemberListType_docFriendMembers        = 65 + MemberListType_documentationLists,
Packit Service 50c9f2
  MemberListType_docPropMembers          = 66 + MemberListType_documentationLists,
Packit Service 50c9f2
Packit Service 50c9f2
  MemberListType_redefinedBy             = 67,
Packit Service 50c9f2
  MemberListType_enumFields              = 68,
Packit Service 50c9f2
  MemberListType_memberGroup             = 69,
Packit Service 50c9f2
Packit Service 50c9f2
  // this one is for the summary section on the class page
Packit Service 50c9f2
  MemberListType_interfaces              = 70,
Packit Service 50c9f2
  // this one is for the detailed section on the class page
Packit Service 50c9f2
  MemberListType_interfaceMembers        = 71 + MemberListType_detailedLists,
Packit Service 50c9f2
  MemberListType_services                = 72,
Packit Service 50c9f2
  MemberListType_serviceMembers          = 73 + MemberListType_detailedLists,
Packit Service 50c9f2
};
Packit Service 50c9f2
Packit Service 50c9f2
enum MemberType 
Packit Service 50c9f2
{ 
Packit Service 50c9f2
  MemberType_Define,
Packit Service 50c9f2
  MemberType_Function, 
Packit Service 50c9f2
  MemberType_Variable, 
Packit Service 50c9f2
  MemberType_Typedef, 
Packit Service 50c9f2
  MemberType_Enumeration, 
Packit Service 50c9f2
  MemberType_EnumValue,
Packit Service 50c9f2
  MemberType_Signal,
Packit Service 50c9f2
  MemberType_Slot,
Packit Service 50c9f2
  MemberType_Friend,
Packit Service 50c9f2
  MemberType_DCOP,
Packit Service 50c9f2
  MemberType_Property,
Packit Service 50c9f2
  MemberType_Event,
Packit Service 50c9f2
  MemberType_Interface,
Packit Service 50c9f2
  MemberType_Service,
Packit Service 50c9f2
};
Packit Service 50c9f2
Packit Service 50c9f2
enum FortranFormat
Packit Service 50c9f2
{
Packit Service 50c9f2
  FortranFormat_Unknown,
Packit Service 50c9f2
  FortranFormat_Free,
Packit Service 50c9f2
  FortranFormat_Fixed
Packit Service 50c9f2
};
Packit Service 50c9f2
Packit Service 50c9f2
#endif