xref: /petsc/src/sys/objects/pgname.c (revision 1d27aa22b2f6148b2c4e3f06a75e0638d6493e09)
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 `obj` has not yet been named
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   Level: intermediate
15 
16   Note:
17   Calls `PetscObjectName()` if a name has not yet been provided to the object.
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