jingle-filetransfer/filetransfer.h
author Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
Mon, 16 Aug 2010 02:56:46 +0200
changeset 131 943c3f938cb4
parent 127 02dde03e219b
child 133 361d8577ebd1
permissions -rw-r--r--
JFT: add a command info
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
21
147f131382dd Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
     1
#ifndef __JINGLEFT_H__
147f131382dd Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
     2
#define __JINGLEFT_H__ 1
147f131382dd Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
     3
147f131382dd Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
     4
#define NS_JINGLE_APP_FT      "urn:xmpp:jingle:apps:file-transfer:1"
147f131382dd Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
     5
#define NS_JINGLE_APP_FT_INFO "urn:xmpp:jingle:apps:file-transfer:info:1"
147f131382dd Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
     6
#define NS_SI_FT              "http://jabber.org/protocol/si/profile/file-transfer"
123
58bd57666ef9 Add a end function to transport
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 102
diff changeset
     7
#define JINGLE_FT_SIZE_READ 2048
21
147f131382dd Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
     8
71
53ee5d729367 Handle JFT
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 53
diff changeset
     9
typedef enum {
53ee5d729367 Handle JFT
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 53
diff changeset
    10
  JINGLE_FT_OFFER,
53ee5d729367 Handle JFT
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 53
diff changeset
    11
  JINGLE_FT_REQUEST,
53ee5d729367 Handle JFT
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 53
diff changeset
    12
} JingleFTType;
53ee5d729367 Handle JFT
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 53
diff changeset
    13
131
943c3f938cb4 JFT: add a command info
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 127
diff changeset
    14
typedef enum {
943c3f938cb4 JFT: add a command info
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 127
diff changeset
    15
  JINGLE_FT_INCOMING,
943c3f938cb4 JFT: add a command info
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 127
diff changeset
    16
  JINGLE_FT_OUTGOING
943c3f938cb4 JFT: add a command info
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 127
diff changeset
    17
} JingleFTDirection;
21
147f131382dd Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    18
typedef struct {
147f131382dd Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    19
  /* the last modification of the file, optional */
147f131382dd Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    20
  time_t date;
147f131382dd Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    21
147f131382dd Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    22
  /* MD5 hash of the file, optional */
53
64a47491c068 Add a function to handle incoming data in the filetransfert module.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 49
diff changeset
    23
  gchar *hash;
21
147f131382dd Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    24
147f131382dd Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    25
  /* the name of the file that the sender wishes to send */
53
64a47491c068 Add a function to handle incoming data in the filetransfert module.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 49
diff changeset
    26
  gchar *name;
21
147f131382dd Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    27
147f131382dd Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    28
  /* the size, in bytes, of the data to be sent */
88
8b12ebd75c1a Change the size to an guint64 and use the G_GUINT64_FORMAT.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 71
diff changeset
    29
  guint64 size;
53
64a47491c068 Add a function to handle incoming data in the filetransfert module.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 49
diff changeset
    30
127
02dde03e219b remove xmlns() in transports
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 123
diff changeset
    31
  /* Data already send/receive*/
02dde03e219b remove xmlns() in transports
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 123
diff changeset
    32
  guint64 transmit;
02dde03e219b remove xmlns() in transports
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 123
diff changeset
    33
  
53
64a47491c068 Add a function to handle incoming data in the filetransfert module.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 49
diff changeset
    34
  /* descriptor to the output file */
64a47491c068 Add a function to handle incoming data in the filetransfert module.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 49
diff changeset
    35
  GIOChannel *outfile;
71
53ee5d729367 Handle JFT
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 53
diff changeset
    36
  
127
02dde03e219b remove xmlns() in transports
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 123
diff changeset
    37
  /* Is it an offer or a request ? */
71
53ee5d729367 Handle JFT
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 53
diff changeset
    38
  JingleFTType type;
53ee5d729367 Handle JFT
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 53
diff changeset
    39
  
131
943c3f938cb4 JFT: add a command info
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 127
diff changeset
    40
  /* Is it if the file is incoming or outgoing */
943c3f938cb4 JFT: add a command info
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 127
diff changeset
    41
  JingleFTDirection dir;
943c3f938cb4 JFT: add a command info
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 127
diff changeset
    42
  
127
02dde03e219b remove xmlns() in transports
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 123
diff changeset
    43
  /* A little description of the transfer */
71
53ee5d729367 Handle JFT
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 53
diff changeset
    44
  gchar *desc;
53ee5d729367 Handle JFT
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 53
diff changeset
    45
  
127
02dde03e219b remove xmlns() in transports
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 123
diff changeset
    46
  /* Where we compute the hash */
102
ec430b98c115 send hash
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 88
diff changeset
    47
  GChecksum *md5;
ec430b98c115 send hash
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 88
diff changeset
    48
  
21
147f131382dd Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    49
} JingleFT;
147f131382dd Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    50
131
943c3f938cb4 JFT: add a command info
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 127
diff changeset
    51
typedef struct {
943c3f938cb4 JFT: add a command info
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 127
diff changeset
    52
  int index;
943c3f938cb4 JFT: add a command info
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 127
diff changeset
    53
  
943c3f938cb4 JFT: add a command info
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 127
diff changeset
    54
  JingleFT *jft;
943c3f938cb4 JFT: add a command info
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 127
diff changeset
    55
} JingleFTInfo;
21
147f131382dd Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    56
#endif