Actual source code: loghandlerimpl.h

      1: #pragma once

      3: #include <petsc/private/petscimpl.h>

      5: typedef struct _PetscLogHandlerOps *PetscLogHandlerOps;
      6: struct _PetscLogHandlerOps {
      7:   PetscErrorCode (*destroy)(PetscLogHandler);
      8:   PetscErrorCode (*eventbegin)(PetscLogHandler, PetscLogEvent, PetscObject, PetscObject, PetscObject, PetscObject);
      9:   PetscErrorCode (*eventend)(PetscLogHandler, PetscLogEvent, PetscObject, PetscObject, PetscObject, PetscObject);
     10:   PetscErrorCode (*eventsync)(PetscLogHandler, PetscLogEvent, MPI_Comm);
     11:   PetscErrorCode (*objectcreate)(PetscLogHandler, PetscObject);
     12:   PetscErrorCode (*objectdestroy)(PetscLogHandler, PetscObject);
     13:   PetscErrorCode (*stagepush)(PetscLogHandler, PetscLogStage);
     14:   PetscErrorCode (*stagepop)(PetscLogHandler, PetscLogStage);
     15:   PetscErrorCode (*view)(PetscLogHandler, PetscViewer);
     16: };

     18: struct _p_PetscLogHandler {
     19:   PETSCHEADER(struct _PetscLogHandlerOps);
     20:   PetscLogState state;
     21:   void         *data;
     22: };

     24: PETSC_INTERN PetscErrorCode PetscLogHandlerPackageInitialize(void);
     25: PETSC_INTERN PetscErrorCode PetscLogHandlerLogObjectState_Internal(PetscLogHandler, PetscObject, const char *, va_list);