jingle-filetransfer/filetransfer.h
author Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
Mon, 16 Aug 2010 20:57:30 +0200
changeset 137 14ef2cb0bd2b
parent 133 361d8577ebd1
child 138 dde8eaf7ff2c
permissions -rw-r--r--
Add a Doxyfile to generate the reference using Doxygen. Start documenting jingle.h
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;
133
361d8577ebd1 Change the way IBB work
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 131
diff changeset
    18
361d8577ebd1 Change the way IBB work
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 131
diff changeset
    19
typedef enum {
361d8577ebd1 Change the way IBB work
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 131
diff changeset
    20
  JINGLE_FT_PENDING,
361d8577ebd1 Change the way IBB work
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 131
diff changeset
    21
  JINGLE_FT_STARTING,
361d8577ebd1 Change the way IBB work
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 131
diff changeset
    22
  JINGLE_FT_ENDING,
361d8577ebd1 Change the way IBB work
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 131
diff changeset
    23
  JINGLE_FT_REJECT,
361d8577ebd1 Change the way IBB work
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 131
diff changeset
    24
  JINGLE_FT_ERROR
361d8577ebd1 Change the way IBB work
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 131
diff changeset
    25
} JingleFTState;
361d8577ebd1 Change the way IBB work
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 131
diff changeset
    26
21
147f131382dd Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    27
typedef struct {
147f131382dd Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    28
  /* the last modification of the file, optional */
147f131382dd Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    29
  time_t date;
147f131382dd Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    30
147f131382dd Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    31
  /* 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
    32
  gchar *hash;
21
147f131382dd Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    33
147f131382dd Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    34
  /* 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
    35
  gchar *name;
21
147f131382dd Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    36
147f131382dd Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    37
  /* 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
    38
  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
    39
127
02dde03e219b remove xmlns() in transports
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 123
diff changeset
    40
  /* Data already send/receive*/
02dde03e219b remove xmlns() in transports
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 123
diff changeset
    41
  guint64 transmit;
02dde03e219b remove xmlns() in transports
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 123
diff changeset
    42
  
53
64a47491c068 Add a function to handle incoming data in the filetransfert module.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 49
diff changeset
    43
  /* 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
    44
  GIOChannel *outfile;
71
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
  /* Is it an offer or a request ? */
71
53ee5d729367 Handle JFT
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 53
diff changeset
    47
  JingleFTType type;
53ee5d729367 Handle JFT
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 53
diff changeset
    48
  
131
943c3f938cb4 JFT: add a command info
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 127
diff changeset
    49
  /* 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
    50
  JingleFTDirection dir;
943c3f938cb4 JFT: add a command info
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 127
diff changeset
    51
  
133
361d8577ebd1 Change the way IBB work
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 131
diff changeset
    52
  /* The state of the file (PENDING, STARTING, ...) */
361d8577ebd1 Change the way IBB work
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 131
diff changeset
    53
  JingleFTState state;
361d8577ebd1 Change the way IBB work
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 131
diff changeset
    54
  
127
02dde03e219b remove xmlns() in transports
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 123
diff changeset
    55
  /* A little description of the transfer */
71
53ee5d729367 Handle JFT
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 53
diff changeset
    56
  gchar *desc;
53ee5d729367 Handle JFT
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 53
diff changeset
    57
  
127
02dde03e219b remove xmlns() in transports
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 123
diff changeset
    58
  /* Where we compute the hash */
102
ec430b98c115 send hash
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 88
diff changeset
    59
  GChecksum *md5;
ec430b98c115 send hash
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 88
diff changeset
    60
  
21
147f131382dd Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    61
} JingleFT;
147f131382dd Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    62
131
943c3f938cb4 JFT: add a command info
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 127
diff changeset
    63
typedef struct {
943c3f938cb4 JFT: add a command info
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 127
diff changeset
    64
  int index;
943c3f938cb4 JFT: add a command info
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 127
diff changeset
    65
  
943c3f938cb4 JFT: add a command info
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 127
diff changeset
    66
  JingleFT *jft;
943c3f938cb4 JFT: add a command info
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 127
diff changeset
    67
} JingleFTInfo;
21
147f131382dd Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    68
#endif