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);