Ignore:
Timestamp:
Jun 6, 2006 6:40:40 PM (18 years ago)
Author:
bennylp
Message:

Another huge chunks of modifications in PJSUA API, too many things to mention!

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjsip/include/pjsua-lib/pjsua.h

    r487 r492  
    6969 
    7070 
     71typedef int pjsua_acc_id; 
     72typedef int pjsua_buddy_id; 
     73typedef int pjsua_player_id; 
     74typedef int pjsua_recorder_id; 
     75typedef int pjsua_conf_port_id; 
     76 
     77 
    7178/** 
    7279 * Account configuration. 
     
    136143    unsigned    start_rtp_port; 
    137144 
     145    /** 
     146     * Enable incoming and outgoing message logging (default: 1). 
     147     */ 
     148    pj_bool_t   msg_logging; 
     149 
    138150    /** Maximum calls to support (default: 4) */ 
    139151    unsigned    max_calls; 
     
    223235    /** Outbound proxy (default: none) */ 
    224236    pj_str_t    outbound_proxy; 
    225  
    226     /** URI to call.                    */ 
    227     pj_str_t    uri_to_call; 
    228237 
    229238    /** Number of SIP accounts */ 
     
    273282 
    274283    /** 
     284     * Notify application on incoming call. 
     285     */ 
     286    void (*on_incoming_call)(pjsua_acc_id acc_id, int call_index, 
     287                             pjsip_rx_data *rdata); 
     288 
     289    /** 
    275290     * Notify application on call being transfered. 
    276291     * Application can decide to accept/reject transfer request 
     
    288303     * registration details. 
    289304     */ 
    290     void (*on_reg_state)(int acc_index); 
     305    void (*on_reg_state)(pjsua_acc_id acc_id); 
    291306 
    292307    /** 
     
    294309     * Application may then query the buddy into to get the details. 
    295310     */ 
    296     void (*on_buddy_state)(int buddy_index); 
     311    void (*on_buddy_state)(pjsua_buddy_id buddy_id); 
    297312 
    298313    /** 
     
    330345    pjsip_inv_state     state; 
    331346    pj_str_t            state_text; 
     347    pjsip_status_code   last_status; 
     348    pj_str_t            last_status_text; 
    332349    pj_time_val         connect_duration; 
    333350    pj_time_val         total_duration; 
    334     pjsip_status_code   cause; 
    335     pj_str_t            cause_text; 
    336351    pj_bool_t           has_media; 
    337     unsigned            conf_slot; 
     352    pjsua_conf_port_id  conf_slot; 
    338353}; 
    339354 
     
    356371struct pjsua_buddy_info 
    357372{ 
    358     unsigned            index; 
     373    pjsua_buddy_id      index; 
    359374    pj_bool_t           is_valid; 
    360375    pj_str_t            name; 
     
    366381    pj_str_t            status_text; 
    367382    pj_bool_t           monitor; 
    368     int                 acc_index; 
    369383}; 
    370384 
     
    377391struct pjsua_acc_info 
    378392{ 
    379     unsigned            index; 
     393    pjsua_acc_id        index; 
    380394    pj_str_t            acc_id; 
    381395    pj_bool_t           has_registration; 
     
    390404 
    391405 
    392 typedef int pjsua_player_id; 
    393 typedef int pjsua_recorder_id; 
    394  
     406/** 
     407 * Conference port info. 
     408 */ 
     409struct pjsua_conf_port_info 
     410{ 
     411    pjsua_conf_port_id  slot_id; 
     412    pj_str_t            name; 
     413    unsigned            clock_rate; 
     414    unsigned            channel_count; 
     415    unsigned            samples_per_frame; 
     416    unsigned            bits_per_sample; 
     417    unsigned            listener_cnt; 
     418    pjsua_conf_port_id  listeners[256]; 
     419}; 
     420 
     421 
     422typedef struct pjsua_conf_port_info pjsua_conf_port_info; 
    395423 
    396424 
     
    479507 * Get maximum number of calls configured in pjsua. 
    480508 */ 
    481 PJ_DECL(unsigned) pjsua_get_max_calls(void); 
     509PJ_DECL(unsigned) pjsua_call_get_max_count(void); 
    482510 
    483511/** 
    484512 * Get current number of active calls. 
    485513 */ 
    486 PJ_DECL(unsigned) pjsua_get_call_count(void); 
     514PJ_DECL(unsigned) pjsua_call_get_count(void); 
    487515 
    488516/** 
     
    502530 * Get call info. 
    503531 */ 
    504 PJ_DECL(pj_status_t) pjsua_get_call_info(unsigned call_index, 
     532PJ_DECL(pj_status_t) pjsua_call_get_info(unsigned call_index, 
    505533                                         pjsua_call_info *info); 
    506534 
     
    509537 * Duplicate call info. 
    510538 */ 
    511 PJ_DECL(void) pjsua_dup_call_info(pj_pool_t *pool, 
     539PJ_DECL(void) pjsua_call_info_dup(pj_pool_t *pool, 
    512540                                  pjsua_call_info *dst_info, 
    513541                                  const pjsua_call_info *src_info); 
     
    517545 * Make outgoing call. 
    518546 */ 
    519 PJ_DECL(pj_status_t) pjsua_make_call(unsigned acc_index, 
    520                                      const pj_str_t *dst_uri, 
    521                                      int *p_call_index); 
     547PJ_DECL(pj_status_t) pjsua_call_make_call(unsigned acc_id, 
     548                                          const pj_str_t *dst_uri, 
     549                                          int *p_call_index); 
    522550 
    523551 
     
    525553 * Answer call. 
    526554 */ 
    527 PJ_DECL(void) pjsua_call_answer(int call_index, int code); 
     555PJ_DECL(pj_status_t) pjsua_call_answer(int call_index, int code); 
    528556 
    529557/** 
     
    536564 * Put call on-hold. 
    537565 */ 
    538 PJ_DECL(void) pjsua_call_set_hold(int call_index); 
     566PJ_DECL(pj_status_t) pjsua_call_set_hold(int call_index); 
    539567 
    540568 
     
    542570 * Send re-INVITE (to release hold). 
    543571 */ 
    544 PJ_DECL(void) pjsua_call_reinvite(int call_index); 
     572PJ_DECL(pj_status_t) pjsua_call_reinvite(int call_index); 
    545573 
    546574 
     
    548576 * Transfer call. 
    549577 */ 
    550 PJ_DECL(void) pjsua_call_xfer(unsigned call_index, const pj_str_t *dest); 
     578PJ_DECL(pj_status_t) pjsua_call_xfer(unsigned call_index, const pj_str_t *dest); 
    551579 
    552580/** 
     
    560588 * Send instant messaging inside INVITE session. 
    561589 */ 
    562 PJ_DECL(void) pjsua_call_send_im(int call_index, const pj_str_t *text); 
     590PJ_DECL(pj_status_t) pjsua_call_send_im(int call_index, const pj_str_t *text); 
    563591 
    564592 
     
    566594 * Send IM typing indication inside INVITE session. 
    567595 */ 
    568 PJ_DECL(void) pjsua_call_typing(int call_index, pj_bool_t is_typing); 
     596PJ_DECL(pj_status_t) pjsua_call_send_typing_ind(int call_index,  
     597                                                pj_bool_t is_typing); 
    569598 
    570599/** 
     
    577606 * Dump call and media statistics to string. 
    578607 */ 
    579 PJ_DECL(void) pjsua_dump_call(int call_index, int with_media,  
     608PJ_DECL(void) pjsua_call_dump(int call_index, int with_media,  
    580609                              char *buffer, unsigned maxlen, 
    581610                              const char *indent); 
     
    595624 * Get account info. 
    596625 */ 
    597 PJ_DECL(pj_status_t) pjsua_acc_get_info(unsigned acc_index, 
     626PJ_DECL(pj_status_t) pjsua_acc_get_info(pjsua_acc_id acc_id, 
    598627                                        pjsua_acc_info *info); 
     628 
     629 
     630/** 
     631 * Enum accounts id. 
     632 */ 
     633PJ_DECL(pj_status_t) pjsua_acc_enum_id( pjsua_acc_id ids[], 
     634                                        unsigned *count ); 
     635 
     636 
     637/** 
     638 * Enum accounts info. 
     639 */ 
     640PJ_DECL(pj_status_t) pjsua_acc_enum_info( pjsua_acc_info info[], 
     641                                          unsigned *count ); 
     642 
     643 
     644/** 
     645 * Find account for outgoing request. 
     646 */ 
     647PJ_DECL(pjsua_acc_id) pjsua_acc_find_for_outgoing(const pj_str_t *url); 
     648 
     649/** 
     650 * Find account for incoming request. 
     651 */ 
     652PJ_DECL(pjsua_acc_id) pjsua_acc_find_for_incoming(pjsip_rx_data *rdata); 
    599653 
    600654/** 
     
    605659 */ 
    606660PJ_DECL(pj_status_t) pjsua_acc_add(const pjsua_acc_config *cfg, 
    607                                    int *acc_index); 
     661                                   pjsua_acc_id *acc_id); 
     662 
     663/** 
     664 * Delete account. 
     665 */ 
     666PJ_DECL(pj_status_t) pjsua_acc_del(pjsua_acc_id acc_id); 
    608667 
    609668 
    610669/** 
    611670 * Set account's presence status. 
    612  * Must call pjsua_pres_refresh() after this. 
    613  */ 
    614 PJ_DECL(pj_status_t) pjsua_acc_set_online_status(unsigned acc_index, 
     671 */ 
     672PJ_DECL(pj_status_t) pjsua_acc_set_online_status(pjsua_acc_id acc_id, 
    615673                                                 pj_bool_t is_online); 
    616674 
     
    620678 * this will start unregistration process. 
    621679 */ 
    622 PJ_DECL(pj_status_t) pjsua_acc_set_registration(unsigned acc_index, pj_bool_t renew); 
     680PJ_DECL(pj_status_t) pjsua_acc_set_registration(pjsua_acc_id acc_id,  
     681                                                pj_bool_t renew); 
    623682 
    624683 
     
    638697 * Get buddy info. 
    639698 */ 
    640 PJ_DECL(pj_status_t) pjsua_buddy_get_info(unsigned buddy_index, 
     699PJ_DECL(pj_status_t) pjsua_buddy_get_info(pjsua_buddy_id buddy_index, 
    641700                                          pjsua_buddy_info *info); 
    642701 
     
    645704 */ 
    646705PJ_DECL(pj_status_t) pjsua_buddy_add(const pj_str_t *uri, 
    647                                      int *buddy_index); 
     706                                     pjsua_buddy_id *buddy_index); 
     707 
     708 
     709/** 
     710 * Delete buddy. 
     711 */ 
     712PJ_DECL(pj_status_t) pjsua_buddy_del(pjsua_buddy_id buddy_index); 
    648713 
    649714 
    650715/** 
    651716 * Enable/disable buddy's presence monitoring. 
    652  * Must call pjsua_pres_refresh() after this. 
    653  */ 
    654 PJ_DECL(pj_status_t) pjsua_buddy_subscribe_pres(unsigned buddy_index, 
     717 */ 
     718PJ_DECL(pj_status_t) pjsua_buddy_subscribe_pres(pjsua_buddy_id buddy_index, 
    655719                                                pj_bool_t monitor); 
    656720 
    657  
    658 /** 
    659  * Refresh both presence client and server subscriptions. 
    660  */ 
    661 PJ_DECL(void) pjsua_pres_refresh(void); 
    662721 
    663722/** 
     
    681740 * Send IM outside dialog. 
    682741 */ 
    683 PJ_DECL(pj_status_t) pjsua_im_send(int acc_index, const pj_str_t *dst_uri,  
     742PJ_DECL(pj_status_t) pjsua_im_send(int acc_id, const pj_str_t *dst_uri,  
    684743                                   const pj_str_t *text); 
    685744 
     
    688747 * Send typing indication outside dialog. 
    689748 */ 
    690 PJ_DECL(pj_status_t) pjsua_im_typing(int acc_index, const pj_str_t *dst_uri,  
     749PJ_DECL(pj_status_t) pjsua_im_typing(int acc_id, const pj_str_t *dst_uri,  
    691750                                     pj_bool_t is_typing); 
    692751 
     
    706765 * Enum all conference ports. 
    707766 */ 
    708 PJ_DECL(pj_status_t) pjsua_conf_enum_ports(unsigned *count, 
    709                                            pjmedia_conf_port_info info[]); 
     767PJ_DECL(pj_status_t) pjsua_conf_enum_port_ids(pjsua_conf_port_id id[], 
     768                                              unsigned *count); 
     769 
     770 
     771/** 
     772 * Get information about the specified conference port 
     773 */ 
     774PJ_DECL(pj_status_t) pjsua_conf_get_port_info( pjsua_conf_port_id id, 
     775                                               pjsua_conf_port_info *info); 
    710776 
    711777 
     
    713779 * Connect conference port. 
    714780 */ 
    715 PJ_DECL(pj_status_t) pjsua_conf_connect(unsigned src_port, 
    716                                         unsigned dst_port); 
     781PJ_DECL(pj_status_t) pjsua_conf_connect(pjsua_conf_port_id src_port, 
     782                                        pjsua_conf_port_id dst_port); 
    717783 
    718784 
     
    720786 * Connect conference port connection. 
    721787 */ 
    722 PJ_DECL(pj_status_t) pjsua_conf_disconnect(unsigned src_port, 
    723                                            unsigned dst_port); 
     788PJ_DECL(pj_status_t) pjsua_conf_disconnect(pjsua_conf_port_id src_port, 
     789                                           pjsua_conf_port_id dst_port); 
    724790 
    725791 
     
    734800 * Get conference port associated with player. 
    735801 */ 
    736 PJ_DECL(int) pjsua_player_get_conf_port(pjsua_player_id id); 
     802PJ_DECL(pjsua_conf_port_id) pjsua_player_get_conf_port(pjsua_player_id id); 
    737803 
    738804 
     
    761827 * Get conference port associated with recorder. 
    762828 */ 
    763 PJ_DECL(int) pjsua_recorder_get_conf_port(pjsua_recorder_id id); 
     829PJ_DECL(pjsua_conf_port_id) pjsua_recorder_get_conf_port(pjsua_recorder_id id); 
    764830 
    765831 
     
    798864 */ 
    799865PJ_DECL(pj_status_t) pjsua_parse_args(int argc, char *argv[], 
    800                                       pjsua_config *cfg); 
     866                                      pjsua_config *cfg, 
     867                                      pj_str_t *uri_to_call); 
    801868 
    802869/** 
     
    804871 */ 
    805872PJ_DECL(pj_status_t) pjsua_load_settings(const char *filename, 
    806                                          pjsua_config *cfg); 
     873                                         pjsua_config *cfg, 
     874                                         pj_str_t *uri_to_call); 
    807875 
    808876/** 
    809877 * Get pjsua running config. 
    810878 */ 
    811 PJ_DECL(const pjsua_config*) pjsua_get_config(void); 
     879PJ_DECL(void) pjsua_get_config(pj_pool_t *pool, 
     880                               pjsua_config *config); 
    812881 
    813882 
Note: See TracChangeset for help on using the changeset viewer.