xref: /petsc/src/sys/objects/pgname.c (revision 21532e8a5a1a1e7911222ee0f2ed1e65b4f3f1d8)
1e5c89e4eSSatish Balay 
2af0996ceSBarry Smith #include <petsc/private/petscimpl.h> /*I    "petscsys.h"   I*/
3e5c89e4eSSatish Balay 
4e5c89e4eSSatish Balay /*@C
5e5c89e4eSSatish Balay    PetscObjectGetName - Gets a string name associated with a PETSc object.
6e5c89e4eSSatish Balay 
7199a6bf1SJed Brown    Not Collective unless object has not been named yet
8e5c89e4eSSatish Balay 
9e5c89e4eSSatish Balay    Input Parameters:
10e5c89e4eSSatish Balay +  obj - the Petsc variable
11811af0c4SBarry Smith          Thus must be cast with a (`PetscObject`), for example,
12811af0c4SBarry Smith          `PetscObjectGetName`((`PetscObject`)mat,&name);
13e5c89e4eSSatish Balay -  name - the name associated with obj
14e5c89e4eSSatish Balay 
15811af0c4SBarry Smith    Note:
16811af0c4SBarry Smith     Calls `PetscObjectName()` if a name has not yet been provided to the object.
17343722f2SBarry Smith 
18e5c89e4eSSatish Balay    Level: intermediate
19e5c89e4eSSatish Balay 
20*21532e8aSBarry Smith .seealso: `PetscObjectSetName()`, `PetscObjectName()`, `PetscObject`, `PetscObjectGetId()`
21e5c89e4eSSatish Balay @*/
22d71ae5a4SJacob Faibussowitsch PetscErrorCode PetscObjectGetName(PetscObject obj, const char *name[])
23d71ae5a4SJacob Faibussowitsch {
24e5c89e4eSSatish Balay   PetscFunctionBegin;
253cfa8680SLisandro Dalcin   PetscValidHeader(obj, 1);
263cfa8680SLisandro Dalcin   PetscValidPointer(name, 2);
279566063dSJacob Faibussowitsch   PetscCall(PetscObjectName(obj));
28e5c89e4eSSatish Balay   *name = obj->name;
293ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
30e5c89e4eSSatish Balay }
31