syntax-RowStatus-dependencies.m2i
上传用户:wxp200602
上传日期:2007-10-30
资源大小:4028k
文件大小:3k
源码类别:

SNMP编程

开发平台:

Unix_Linux

  1. #############################################################  -*- c -*-
  2. ## generic include for XXX. Do not use directly.
  3. ##
  4. ## $Id: syntax-RowStatus-dependencies.m2i,v 1.3 2004/09/22 02:30:58 rstory Exp $
  5. ########################################################################
  6. @if $m2c_mark_boundary == 1@
  7. /** START code generated by $RCSfile: syntax-RowStatus-dependencies.m2i,v $ $Revision: 1.3 $ */
  8. @end@
  9. ########################################################################
  10. ## {
  11.     /*
  12.      * check RowStatus dependencies
  13.      */
  14.     if (rowreq_ctx->column_set_flags & FLAG_$node.uc) {
  15.         /*
  16.          * check for valid RowStatus transition (old, new)
  17.          * (Note: move transition check to $node_check_value
  18.          *  to catch errors earlier)
  19.          */
  20.         rc = check_rowstatus_transition( ${m2c_undo_item}$node,
  21.                                          ${m2c_data_item}$node );
  22.         if (MFD_SUCCESS != rc)
  23.             return rc;
  24.         
  25. @if $m2c_table_row_creation == 1@
  26.         /*
  27.          * row creation requirements
  28.          */
  29.         if (rowreq_ctx->rowreq_flags & MFD_ROW_CREATED) {
  30.             if (ROWSTATUS_CREATEANDGO ==  ${m2c_data_item}$node) {
  31.                 if (rowreq_ctx->column_set_flags != $context.uc_REQUIRED_COLS) {
  32.                     DEBUGMSGTL(("${context}",
  33.                                 "required columns missingn"));
  34.                     return MFD_CANNOT_CREATE_NOW;
  35.                 }
  36.             }
  37.         } /* row creation */
  38.         else {
  39. @end@
  40.             /*
  41.              * row change requirements
  42.              */
  43.             /*
  44.              * don't allow a destroy if any other value was changed, since
  45.              * that might call data access routines with bad info.
  46.              *
  47.              * you may or may not require the row be notInService before it
  48.              * can be destroyed.
  49.              */
  50.             if (ROWSTATUS_DESTROY == ${m2c_data_item}$node) {
  51.                 if (rowreq_ctx->column_set_flags & ~FLAG_$node.uc) {
  52.                     DEBUGMSGTL(("$context",
  53.                                 "destroy must be only varbind for rown"));
  54.                     return MFD_NOT_VALID_NOW;
  55.                 }
  56.             } /* row destroy */
  57. @if $m2c_table_row_creation == 1@
  58.         } /* row change */
  59. @end@
  60.     }
  61.     else {
  62.         /*
  63. @if $m2c_table_row_creation == 1@
  64.          * must have row status to create a row
  65. @else@
  66.          * row creation snot supported
  67. @end@
  68.          */
  69.         if (rowreq_ctx->rowreq_flags & MFD_ROW_CREATED) {
  70.             DEBUGMSGTL(("$context",
  71.                         "must use RowStatus to create rowsn"));
  72.             return MFD_CANNOT_CREATE_NOW;
  73.         }
  74.     } /* row status not set */
  75. ## }
  76. ########################################################################
  77. @if $m2c_mark_boundary == 1@
  78. /** END code generated by $RCSfile: syntax-RowStatus-dependencies.m2i,v $ $Revision: 1.3 $ */
  79. @end@