xref: /petsc/src/sys/objects/pgname.c (revision 66af8762ec03dbef0e079729eb2a1734a35ed7ff)
1 #include <petsc/private/petscimpl.h> /*I    "petscsys.h"   I*/
2 
3 /*@C
4   PetscObjectGetName - Gets a string name associated with a PETSc object.
5 
6   Not Collective unless object has not been named yet
7 
8   Input Parameters:
9 + obj  - the Petsc variable
10          Thus must be cast with a (`PetscObject`), for example,
11          `PetscObjectGetName`((`PetscObject`)mat,&name);
12 - name - the name associated with obj
13 
14   Note:
15   Calls `PetscObjectName()` if a name has not yet been provided to the object.
16 
17   Level: intermediate
18 
19 .seealso: `PetscObjectSetName()`, `PetscObjectName()`, `PetscObject`, `PetscObjectGetId()`
20 @*/
21 PetscErrorCode PetscObjectGetName(PetscObject obj, const char *name[])
22 {
23   PetscFunctionBegin;
24   PetscValidHeader(obj, 1);
25   PetscAssertPointer(name, 2);
26   PetscCall(PetscObjectName(obj));
27   *name = obj->name;
28   PetscFunctionReturn(PETSC_SUCCESS);
29 }
30