]> sjero.net Git - linphone/blobdiff - coreapi/sal.h
- fix text_received() callback so that it can work without date header.
[linphone] / coreapi / sal.h
index 46294b6038b86eb32bf0f420958436a729580e6b..26efa81152850f22db507823233acfa435ef529c 100644 (file)
@@ -46,6 +46,10 @@ struct SalAddress;
 
 typedef struct SalAddress SalAddress;
 
+struct SalCustomHeader;
+
+typedef struct SalCustomHeader SalCustomHeader;
+
 typedef enum {
        SalTransportUDP, /*UDP*/
        SalTransportTCP, /*TCP*/
@@ -224,6 +228,7 @@ typedef struct SalOpBase{
        void *user_pointer;
        char* call_id;
        char *remote_contact;
+       SalCustomHeader *custom_headers;
 } SalOpBase;
 
 
@@ -291,7 +296,7 @@ typedef void (*SalOnRegisterFailure)(SalOp *op, SalError error, SalReason reason
 typedef void (*SalOnVfuRequest)(SalOp *op);
 typedef void (*SalOnDtmfReceived)(SalOp *op, char dtmf);
 typedef void (*SalOnRefer)(Sal *sal, SalOp *op, const char *referto);
-typedef void (*SalOnTextReceived)(Sal *sal, const SalMessage *msg);
+typedef void (*SalOnTextReceived)(SalOp *op, const SalMessage *msg);
 typedef void (*SalOnTextDeliveryUpdate)(SalOp *op, SalTextDeliveryStatus status);
 typedef void (*SalOnNotify)(SalOp *op, const char *from, const char *event);
 typedef void (*SalOnNotifyRefer)(SalOp *op, SalReferStatus state);
@@ -451,6 +456,19 @@ int sal_ping(SalOp *op, const char *from, const char *to);
 /*misc*/
 void sal_get_default_local_ip(Sal *sal, int address_family, char *ip, size_t iplen);
 
+struct SalCustomHeader{
+       MSList node;
+       char *header_name;
+       char *header_value;
+};
+
+SalCustomHeader *sal_custom_header_append(SalCustomHeader *ch, const char *name, const char *value);
+const char *sal_custom_header_find(const SalCustomHeader *ch, const char *name);
+void sal_custom_header_free(SalCustomHeader *ch);
+SalCustomHeader *sal_custom_header_clone(SalCustomHeader *ch);
+const SalCustomHeader *sal_op_get_custom_header(SalOp *op);
+void sal_op_set_custom_header(SalOp *op, SalCustomHeader* ch);
+
 
 /*internal API */
 void __sal_op_init(SalOp *b, Sal *sal);