Actual source code: pname.c

  1: #define PETSC_DLL

 3:  #include petsc.h

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

 10:    Not Collective

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

 18:    Level: advanced

 20:    Concepts: object name^setting

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

 30:   PetscStrfree(obj->name);
 31:   PetscStrallocpy(name,&obj->name);
 32:   return(0);
 33: }

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

 40:    Not Collective

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

 47:    Level: advanced

 49:    Concepts: object name^setting default

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

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

 70: /*@C 
 71:    PetscObjectPublish - Publish an object

 73:    Collective on PetscObject

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

 80:    Level: advanced

 82:    Concepts: publishing object

 84:    Notes: Not currently used

 86: .seealso: PetscObjectSetName()

 88: @*/
 89: PetscErrorCode  PetscObjectPublish(PetscObject obj)
 90: {

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

103: PetscErrorCode  PetscObjectChangeTypeName(PetscObject obj,const char type_name[])
104: {

109:   PetscObjectTakeAccess(obj);
110:   PetscStrfree(obj->type_name);
111:   PetscStrallocpy(type_name,&obj->type_name);
112:   PetscObjectGrantAccess(obj);
113:   return(0);
114: }