xref: /petsc/src/sys/objects/pgname.c (revision 811af0c4b09a35de4306c442f88bd09fdc09897d)
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
11*811af0c4SBarry Smith          Thus must be cast with a (`PetscObject`), for example,
12*811af0c4SBarry Smith          `PetscObjectGetName`((`PetscObject`)mat,&name);
13e5c89e4eSSatish Balay -  name - the name associated with obj
14e5c89e4eSSatish Balay 
15*811af0c4SBarry Smith    Note:
16*811af0c4SBarry Smith     Calls `PetscObjectName()` if a name has not yet been provided to the object.
17343722f2SBarry Smith 
18e5c89e4eSSatish Balay    Level: intermediate
19e5c89e4eSSatish Balay 
20db781477SPatrick Sanan .seealso: `PetscObjectSetName()`, `PetscObjectName()`
21e5c89e4eSSatish Balay @*/
229371c9d4SSatish Balay PetscErrorCode PetscObjectGetName(PetscObject obj, const char *name[]) {
23e5c89e4eSSatish Balay   PetscFunctionBegin;
243cfa8680SLisandro Dalcin   PetscValidHeader(obj, 1);
253cfa8680SLisandro Dalcin   PetscValidPointer(name, 2);
269566063dSJacob Faibussowitsch   PetscCall(PetscObjectName(obj));
27e5c89e4eSSatish Balay   *name = obj->name;
28e5c89e4eSSatish Balay   PetscFunctionReturn(0);
29e5c89e4eSSatish Balay }
30