wap_ppg_push_machine.def
上传用户:gzpyjq
上传日期:2013-01-31
资源大小:1852k
文件大小:3k
源码类别:

手机WAP编程

开发平台:

WINDOWS

  1. /*
  2.  * wap_ppg_session_machine.def: macro call to generate the machine to store 
  3.  * data for WAP connected pushes.
  4.  * See architecture document for guidance how to use this.
  5.  *
  6.  * Fields of the machine have following meaning:
  7.  *        a) Identification: pi_push_id, push_id, sender_address
  8.  *
  9.  *        b) Implementing PAP attribute (see PPG Services, Chapter 6):
  10.  *           message_state, code, desc, event_time, delivery_method
  11.  *
  12.  *        c) Session this push uses: session_id, addr_tuple
  13.  *
  14.  *        d) fields to implement time dependent push: timestamp and field to
  15.  *           store the message
  16.  *
  17.  *        e) field to implement priority: a priority field. Priority scheme
  18.  *           stores the message, too.
  19.  *
  20.  *        f) fields to store push message data until the session is establish-
  21.  *           ed: push headers, push data, push capabilities.
  22.  *
  23.  *        g) field to define network and bearer PI is asking: address_type
  24.  *
  25.  *        h) fields to specify reporting to PI: progress_notes_requested, ppg_
  26.  *           notify_requested_to
  27.  *
  28.  *        i) PI authentication fields: authentication fields for this push: 
  29.  *           authenticated, trusted. 
  30.  *
  31.  * By Aarno Syv鋘en for Wapit Ltd and for Wiral Ltd
  32.  */
  33. #if !defined(MACHINE)
  34.     #error "Macro MACHINE is missing"
  35. #elif !defined(INTEGER)
  36.     #error "Macro INTEGER is missing"
  37. #elif !defined(OCTSTR)
  38.     #error "Macro OCTSTR is missing"
  39. #elif !defined(OPTIONAL_OCTSTR)
  40.     #error "Macro OPTIONAL_OCTSTR is missing"
  41. #elif !defined(ADDRTUPLE)
  42.     #error "Macro ADDRTUPLE is missing"
  43. #elif !defined(CAPABILITIES)
  44.     #error "Macro CAPABILITIES is missing"
  45. #elif !defined(HTTPHEADER)
  46.     #error "Macro HTTPHEADER is missing"
  47. #endif
  48. MACHINE(OCTSTR(pi_push_id)       /* this id is selected by PI and SHOULD 
  49.                                     include data separating different PIs */
  50.         INTEGER(push_id)         /* this id is generated by Kannel */
  51.         OPTIONAL_OCTSTR(sender_address)  /* PPG address known by PI */
  52.         INTEGER(message_state)   /* Implementing PAP attribute */
  53.         INTEGER(code)
  54.         OPTIONAL_OCTSTR(desc)
  55.         OCTSTR(event_time)
  56.         INTEGER(delivery_method)
  57.         INTEGER(session_id)      /* link to the push session */
  58.         ADDRTUPLE(addr_tuple)
  59.         OPTIONAL_OCTSTR(deliver_after_timestamp) /* for time dependent push, 
  60.                                                   in PAP format */
  61.         INTEGER(priority)        /* for QoS attribute priority */
  62.         HTTPHEADER(push_headers) 
  63.         OPTIONAL_OCTSTR(push_data)        
  64.         INTEGER(address_type)    /* defining the network */
  65.         INTEGER(progress_notes_requested)/* do we send progress notes about 
  66.                                             this push */
  67.         OPTIONAL_OCTSTR(ppg_notify_requested_to) /* do we notify PI the 
  68.                                                    results */
  69.         INTEGER(authenticated)   /* transferring trust from the client to
  70.                                     PPG */
  71.         INTEGER(trusted)  
  72.        )
  73. #undef MACHINE
  74. #undef INTEGER
  75. #undef OCTSTR
  76. #undef OPTIONAL_OCTSTR
  77. #undef ADDRTUPLE
  78. #undef CAPABILITIES
  79. #undef HTTPHEADER