Commit Graph

3766 Commits

Author SHA1 Message Date
irungentoo
45cf8a744c
Merge branch 'one_more_rename' of https://github.com/dubslow/toxcore into new_api 2015-03-18 16:15:36 -04:00
irungentoo
dc60d98ff1
Removed TOX_USER_STATUS_INVALID. 2015-03-18 15:47:09 -04:00
irungentoo
d711362622
Merged normal message function and send action function into one
messaging function.

This removes code duplication and allows us to easily add new message
types to the api without having to add new functions.
2015-03-18 15:32:53 -04:00
Dubslow
2f65de6fd1
Move get_connection_status to self pseudonamespace, to contrast friend_get_connection_status 2015-03-18 14:18:36 -05:00
irungentoo
b9e747fd50
When friend goes offline all his file transfers get removed.
This is now documented in the API.

Ported programs in testing/ to this behaviour.
2015-03-18 14:39:52 -04:00
irungentoo
5b7cbc8956
Api changes.
receive to recv in file receive functions.

Added TOX_MAX_FILENAME_LENGTH define.
2015-03-18 12:54:00 -04:00
irungentoo
ad87dbb470
Kill all file transfers associated with the friend when friend goes
offline.
2015-03-17 17:23:47 -04:00
irungentoo
0beaa2fdb4
Renamed SEND_FAILED to SENDQ. 2015-03-17 17:13:25 -04:00
irungentoo
8286c2c22f
Save function renamed to tox_get_savedata() 2015-03-17 16:20:38 -04:00
irungentoo
67f6d0857a
Make sure some defines in the public api are always correct.
Make sure some assumptions are always correct.
2015-03-17 16:02:46 -04:00
irungentoo
e778bfb42f
Changed INVALID_LENGTH to TOO_LONG. 2015-03-17 16:00:03 -04:00
irungentoo
ea8d27259f
Added tox_file_send_seek() function to api.
This function can be used to seek an incoming file tranfer right
before accepting it.

It is meant to be used to resume incomplete file tranfers by clients.
2015-03-17 15:05:17 -04:00
irungentoo
e072079620
Allow file names to be of length 0.
Pointer in callback will be NULL if length is 0.
2015-03-17 13:47:09 -04:00
irungentoo
24c70c9e84
Added and implemented file_id parameter to file tranfers.
file_id is a 32byte identifier that can be used by users to identify
file tranfers across core/client restarts in order to resume broken
file tranfers.

In avatar tranfers it corresponds to the hash of the avatar.

Added tox_file_get_file_id() function to api to obtain the file_id
of an ongoing file transfer.

If not set, core will generate a random one.
2015-03-17 13:44:48 -04:00
irungentoo
2757b254fe
Merge branch 'iphydf-new_api' into new_api 2015-03-16 09:26:05 -04:00
iphydf
fa7c21f95c New API fixups. 2015-03-16 13:12:25 +00:00
irungentoo
08585e5b60
Merge branch 'new_api_patch' of https://github.com/Impyy/toxcore into new_api 2015-03-15 18:41:00 -04:00
irungentoo
ec659491b2
Avatar hash is now the filename of the file transfer instead of the
first 32 bytes.

Enforce length of filename in core when transfer is an avatar type
transfer to make things more safe.
2015-03-15 18:35:22 -04:00
Impyy
409897f7ae Initialize Tox_Options with default values in tox_options_new 2015-03-15 12:47:59 +01:00
irungentoo
518a399eb0
There are many scenarios where the user would want to modify the
contents pointed by proxy_address.
2015-03-14 13:35:50 -04:00
irungentoo
fab2daf57a
Install tox_old.h too. 2015-03-14 10:54:42 -04:00
irungentoo
6cf7270638
Make nTox save on exit. 2015-03-14 10:05:39 -04:00
irungentoo
a1127e63d5
Better DHT distance function. 2015-03-14 10:03:19 -04:00
irungentoo
11e8e8bd3a
When link can't send packets anymore, stop the request chunk callback.
Removed time variable in packet struct and replaced it with sent
variable.
2015-03-13 16:51:41 -04:00
irungentoo
29857a3da4
This belongs in the previous commit. 2015-03-13 16:33:55 -04:00
irungentoo
c3e07b73d3
Remove TOX_FILE_KIND typedef. 2015-03-13 15:38:44 -04:00
irungentoo
8e2957ec50
Merge branch 'newer_api' of https://github.com/dubslow/toxcore into new_api 2015-03-13 15:29:34 -04:00
Dubslow
64fefb6f43
revert to TOX_FILE_KIND 2015-03-13 12:34:14 -05:00
irungentoo
96d9cef66c
File kind is now a uint32_t.
This allows clients to agree on what numbers mean what without having
it be set in core.
2015-03-13 13:00:35 -04:00
irungentoo
669975c226
tox_file_send_chunk() must now send data the same length as requested
in the requested chunk callback.

For zero size transfers if the data sent is not the same length, the
file is assumed to be done.
2015-03-13 12:40:21 -04:00
irungentoo
eec1042695
tox_friend_get_public_key() now does nothing when public_key is NULL. 2015-03-13 08:36:07 -04:00
Dubslow
3bf259f69d Convert core code depending on the api 2015-03-12 18:23:14 -05:00
irungentoo
334cb9c8db
Check more ports in tox_test.c 2015-03-12 19:04:49 -04:00
irungentoo
b4320e5fac
File sending improvements.
Use correct double to integer conversion.
2015-03-12 18:56:33 -04:00
irungentoo
0d67598aed
File transfer fixes and improvements. 2015-03-12 18:01:08 -04:00
irungentoo
7e5ca487b5
Don't assume tox_file_send_chunk() is called in the request chunk
callback.
2015-03-12 16:05:18 -04:00
irungentoo
8dc2db2025
Added position parameter to tox_file_send_chunk().
This is done so that the function now has the same parameters as the
request chunk callback.
2015-03-12 15:17:34 -04:00
irungentoo
28d707662b
Fixed tox_new issue. 2015-03-12 13:11:28 -04:00
irungentoo
7afab000f7
tox_new now sets error to TOX_ERR_NEW_PORT_ALLOC when binding to port fails. 2015-03-12 13:03:14 -04:00
irungentoo
4ee017078b
tox_new() fixes.
If data is NULL and length non zero, TOX_ERR_NEW_NULL is set.

error is set to TOX_ERR_NEW_LOAD_BAD_FORMAT when load fails.
2015-03-12 12:19:59 -04:00
irungentoo
1eca7b8e67
Added simple status message test to tox_test.c 2015-03-12 12:18:52 -04:00
irungentoo
4ad7649788
Merge branch 'aaannndddyyy-patch-1' 2015-03-11 20:41:01 -04:00
Dubslow
91274495bc
This is a combination of 11 commits.
The first commit's message is:
TOX_STATUS -> TOX_USER_STATUS, is more specific

  This is the 2nd commit message:

I pretty strongly believe tox_iteration needs to be renamed to a verb

There are several other noun functions in the API, but none of them *do* things.
I think even tox_do is better than tox_iteration.

tox_do_interval is one possibility, but I'm open to suggestions.

  This is the 3rd commit message:

private_key -> secret_key

This is more consistent with modern/NaCl/elliptic cryptography, and also "pk", meaning public key, is all over other toxcore code and documentation. This will eliminate ambiguity.

  This is the 4th commit message:

Rename some functions for pseudo-namespace consistency

The enum change results in long enum types, but I think consistency trumps
having a few less characters.

  This is the 5th commit message:

TOX_FILE_KIND -> TOX_FILE_TYPE

This is more of an English thing than a consistency thing, but
TOX_FILE_KIND sounds funnier/stranger to me than TOX_FILE_TYPE.

  This is the 6th commit message:

More specific file control function names

  This is the 7th commit message:

Rename custom packet functions for pseudo-namespace consistency

This also has the issue with long enums... but I still think consistent enum names are better

  This is the 8th commit message:

Rename functions for pseudo-namespace consistency

  This is the 9th commit message:

Consistency with https://github.com/sonOfRa/tox4j/blob/master/doc/core-design.md#naming-conventions and the rest of the api

  This is the 10th commit message:

Fix errors in previous function rename commits

  This is the 11th commit message:

Shorten one error enum name
2015-03-11 17:09:06 -05:00
irungentoo
43fe6e71bd
tox_callback_connection_status() implemented.
Attempted fix of connection checking to make it more stable.
2015-03-11 15:37:25 -04:00
irungentoo
572484f06e
Use .h for tox_old instead of .c to not break some of my build commands. 2015-03-11 13:51:11 -04:00
irungentoo
88a8a079b6
Implemented the 3 low level network information functions.
Added tox_get_udp_port() to tests.
2015-03-11 08:09:45 -04:00
irungentoo
916b6aa734
Added group chat functions to the public api.
Since the functions are not new api like I put them in tox_old.{c,h}
2015-03-10 18:54:01 -04:00
irungentoo
8e55d96381
Ported nTox to new file transfer api. 2015-03-10 18:49:06 -04:00
irungentoo
c434d48579
testing/tox_sync now fully works on the new api. 2015-03-10 18:29:10 -04:00
irungentoo
0207fcdfb0
Implementation of new api file transfers.
Everything should work except resuming.
2015-03-10 17:31:50 -04:00