xref: /petsc/src/sys/objects/pgname.c (revision cef0416bfaf3f2eda18a772a528c82211592945c)
1af0996ceSBarry Smith #include <petsc/private/petscimpl.h> /*I    "petscsys.h"   I*/
2e5c89e4eSSatish Balay 
3*ffeef943SBarry Smith /*@
4e5c89e4eSSatish Balay   PetscObjectGetName - Gets a string name associated with a PETSc object.
5e5c89e4eSSatish Balay 
68ea61f2eSBarry Smith   Not Collective unless `obj` has not yet been named
7e5c89e4eSSatish Balay 
8e5c89e4eSSatish Balay   Input Parameters:
9dde44402SBarry Smith + obj  - the PETSc variable. It must be cast with a (`PetscObject`), for example,
10811af0c4SBarry Smith          `PetscObjectGetName`((`PetscObject`)mat,&name);
11a3b724e8SBarry Smith - name - the name associated with `obj`, do not free
128ea61f2eSBarry Smith 
138ea61f2eSBarry Smith   Level: intermediate
14e5c89e4eSSatish Balay 
15811af0c4SBarry Smith   Note:
16811af0c4SBarry Smith   Calls `PetscObjectName()` if a name has not yet been provided to the object.
17343722f2SBarry Smith 
1821532e8aSBarry Smith .seealso: `PetscObjectSetName()`, `PetscObjectName()`, `PetscObject`, `PetscObjectGetId()`
19e5c89e4eSSatish Balay @*/
PetscObjectGetName(PetscObject obj,const char * name[])20d71ae5a4SJacob Faibussowitsch PetscErrorCode PetscObjectGetName(PetscObject obj, const char *name[])
21d71ae5a4SJacob Faibussowitsch {
22e5c89e4eSSatish Balay   PetscFunctionBegin;
233cfa8680SLisandro Dalcin   PetscValidHeader(obj, 1);
244f572ea9SToby Isaac   PetscAssertPointer(name, 2);
259566063dSJacob Faibussowitsch   PetscCall(PetscObjectName(obj));
26e5c89e4eSSatish Balay   *name = obj->name;
273ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
28e5c89e4eSSatish Balay }
29