Actual source code: pams.c
1: /*$Id: pams.c,v 1.9 2001/03/23 23:20:42 balay Exp $*/
3: #include petsc.h
5: #if defined(PETSC_HAVE_AMS)
7: /*
8: Publishes the common header part of any PETSc object.
9: */
10: int PetscObjectPublishBaseBegin(PetscObject obj)
11: {
12: AMS_Memory amem;
13: AMS_Comm acomm;
14: int ierr;
17: PetscObjectName(obj);
19: ierr = PetscViewerAMSGetAMSComm(PETSC_VIEWER_AMS_(obj->comm),&acomm);
20: ierr = AMS_Memory_create(acomm,obj->name,&amem);
21: obj->amem = (int)amem;
23: AMS_Memory_take_access(amem);
24: AMS_Memory_add_field(amem,"Class",&obj->class_name,1,AMS_STRING,AMS_READ,
25: AMS_COMMON,AMS_REDUCT_UNDEF);
26: AMS_Memory_add_field(amem,"Type",&obj->type_name,1,AMS_STRING,AMS_READ,
27: AMS_COMMON,AMS_REDUCT_UNDEF);
28: AMS_Memory_add_field(amem,"Id",&obj->id,1,AMS_INT,AMS_READ,
29: AMS_COMMON,AMS_REDUCT_UNDEF);
30: AMS_Memory_add_field(amem,"ParentId",&obj->parentid,1,AMS_INT,AMS_READ,
31: AMS_COMMON,AMS_REDUCT_UNDEF);
32: AMS_Memory_add_field(amem,"Name",&obj->name,1,AMS_STRING,AMS_READ,
33: AMS_COMMON,AMS_REDUCT_UNDEF);
34: return(0);
35: }
37: int PetscObjectPublishBaseEnd(PetscObject obj)
38: {
39: AMS_Memory amem = (AMS_Memory) obj->amem;
40: int ierr;
44: if (amem < 0) SETERRQ(1,"Called without a call to PetscObjectPublishBaseBegin()");
45: AMS_Memory_publish(amem);
46: AMS_Memory_grant_access(amem);
47: return(0);
48: }
50: #else
52: int mydummy(void)
53: {
55: return(0);
56: }
58: #endif