Actual source code: pname.c

 2:  #include petsc.h

  6: /*@C 
  7:    PetscObjectSetName - Sets a string name associated with a PETSc object.

  9:    Not Collective

 11:    Input Parameters:
 12: +  obj - the Petsc variable
 13:          Thus must be cast with a (PetscObject), for example, 
 14:          PetscObjectSetName((PetscObject)mat,name);
 15: -  name - the name to give obj

 17:    Level: advanced

 19:    Concepts: object name^setting

 21: .seealso: PetscObjectGetName()
 22: @*/
 23: PetscErrorCode PetscObjectSetName(PetscObject obj,const char name[])
 24: {

 28:   if (!obj) SETERRQ(PETSC_ERR_ARG_CORRUPT,"Null object");
 29:   PetscStrfree(obj->name);
 30:   PetscStrallocpy(name,&obj->name);
 31:   return(0);
 32: }

 36: /*@C
 37:    PetscObjectName - Gives an object a name if it does not have one

 39:    Not Collective

 41:    Input Parameters:
 42: .  obj - the Petsc variable
 43:          Thus must be cast with a (PetscObject), for example, 
 44:          PetscObjectSetName((PetscObject)mat,name);

 46:    Level: advanced

 48:    Concepts: object name^setting default

 50: .seealso: PetscObjectGetName(), PetscObjectSetName()
 51: @*/
 52: PetscErrorCode PetscObjectName(PetscObject obj)
 53: {
 55:   char       name[64];
 56:   static int counter = 0;

 59:   if (!obj->name) {
 60:     sprintf(name,"%s_%d",obj->class_name,counter++);
 61:     PetscStrallocpy(name,&obj->name);
 62:   }
 63:   return(0);
 64: }

 68: /*@C 
 69:    PetscObjectPublish - Publish an object

 71:    Collective on PetscObject

 73:    Input Parameters:
 74: .  obj - the Petsc variable
 75:          Thus must be cast with a (PetscObject), for example, 
 76:          PetscObjectSetName((PetscObject)mat,name);

 78:    Level: advanced

 80:    Concepts: publishing object

 82:    Notes: Not currently used

 84: .seealso: PetscObjectSetName()

 86: @*/
 87: PetscErrorCode PetscObjectPublish(PetscObject obj)
 88: {

 93:   if (obj->bops->publish) {
 94:     (*obj->bops->publish)(obj);
 95:   }
 96:   return(0);
 97: }

101: PetscErrorCode PetscObjectChangeTypeName(PetscObject obj,const char type_name[])
102: {

106:   PetscObjectTakeAccess(obj);
107:   PetscStrfree(obj->type_name);
108:   PetscStrallocpy(type_name,&obj->type_name);
109:   PetscObjectGrantAccess(obj);
110:   return(0);
111: }