Beispiel #1
0
void wd_transfers_initialize(void) {
	wd_transfer_runtime_id = wi_runtime_register_class(&wd_transfer_runtime_class);

	wd_transfers = wi_array_init(wi_mutable_array_alloc());

	wd_transfers_status_lock = wi_lock_init(wi_lock_alloc());
	
	wd_transfers_user_downloads = wi_dictionary_init_with_capacity_and_callbacks(wi_mutable_dictionary_alloc(),
		0, wi_dictionary_default_key_callbacks, wi_dictionary_null_value_callbacks);

	wd_transfers_user_uploads = wi_dictionary_init_with_capacity_and_callbacks(wi_mutable_dictionary_alloc(),
		0, wi_dictionary_default_key_callbacks, wi_dictionary_null_value_callbacks);
	
	wd_transfers_queue_lock = wi_condition_lock_init_with_condition(wi_condition_lock_alloc(), 0);
}
Beispiel #2
0
static wi_runtime_instance_t * _wi_dictionary_copy(wi_runtime_instance_t *instance) {
    wi_dictionary_t             *dictionary = instance, *dictionary_copy;
    _wi_dictionary_bucket_t     *bucket;
    wi_uinteger_t               i;

    dictionary_copy = wi_dictionary_init_with_capacity_and_callbacks(wi_dictionary_alloc(), dictionary->key_count,
                      dictionary->key_callbacks, dictionary->value_callbacks);

    for(i = 0; i < dictionary->buckets_count; i++) {
        for(bucket = dictionary->buckets[i]; bucket; bucket = bucket->next)
            _wi_dictionary_set_data_for_key(dictionary_copy, bucket->data, bucket->key);
    }

    return dictionary_copy;
}
Beispiel #3
0
wi_dictionary_t * wi_dictionary_init_with_capacity(wi_dictionary_t *dictionary, wi_uinteger_t capacity) {
    return wi_dictionary_init_with_capacity_and_callbacks(dictionary, capacity,
            wi_dictionary_default_key_callbacks, wi_dictionary_default_value_callbacks);
}
Beispiel #4
0
void wi_string_initialize(void) {
	_wi_string_constant_string_lock = wi_lock_init(wi_lock_alloc());
	_wi_string_constant_string_table = wi_dictionary_init_with_capacity_and_callbacks(wi_mutable_dictionary_alloc(),
		2000, wi_dictionary_null_key_callbacks, wi_dictionary_default_value_callbacks);
}