xref: /petsc/src/sys/objects/pgname.c (revision f97672e55eacc8688507b9471cd7ec2664d7f203)
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    Notes:
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