Blame src/types.h

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