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