{
struct str_id *id;
- switch (type) {
- case STORAGE_TYPE_INTERNAL:
- case STORAGE_TYPE_EXTERNAL:
- break;
- default:
- return true;
+ switch (type)
+ {
+ case STORAGE_TYPE_INTERNAL:
+ case STORAGE_TYPE_EXTERNAL:
+ break;
+ default:
+ return true;
}
- switch (state) {
- case STORAGE_STATE_UNMOUNTABLE:
- case STORAGE_STATE_REMOVED:
- case STORAGE_STATE_MOUNTED:
- case STORAGE_STATE_MOUNTED_READ_ONLY:
- break;
- default:
- return true;
+ switch (state)
+ {
+ case STORAGE_STATE_UNMOUNTABLE:
+ case STORAGE_STATE_REMOVED:
+ case STORAGE_STATE_MOUNTED:
+ case STORAGE_STATE_MOUNTED_READ_ONLY:
+ break;
+ default:
+ return true;
}
FPRINTF("[Line : %d][%s] storage_device_supported_callback callback hit\\n", __LINE__, API_NAMESPACE);
}
FPRINTF("[Line : %d][%s] Storage_state_changed_cb_p callback hit\\n", __LINE__, API_NAMESPACE);
}
-
+/**
+* @function Storage_changed_cb_p
+* @description Called when the state of a storage type changes
+* @parameter storage_id : storage id, dev : storage device, state: storage state, fstype, fsuuid, mountpath, primary, flags, user_data : user data passed to callback
+* @return NA
+*/
+void Storage_changed_cb_p(int storage_id, storage_dev_e dev, storage_state_e state, const char *fstype, const char *fsuuid, const char *mountpath, bool primary, int flags, void *user_data)
+{
+ FPRINTF("[Line : %d][%s] Storage_changed_cb_p callback hit\\n", __LINE__, API_NAMESPACE);
+}
/**
* @function ITs_storage_startup
struct str_id *id;
id = storage_head.next;
- while (id) {
+ while (id)
+ {
storage_error_e nRet = storage_set_state_changed_cb(id->id, &Storage_state_changed_cb_p, NULL);//target api//register callback
- if (nRet != STORAGE_ERROR_NONE) {
+ if (nRet != STORAGE_ERROR_NONE)
+ {
FPRINTF("[Line : %d][%s] storage_set_state_changed_cb failed for %s, error returned = %s\\n", __LINE__, API_NAMESPACE, StorageGetType(id->type), StorageGetError(nRet));
return 1;
}
//CHECK_CALLBACK_STATUS("storage_set_state_changed_cb", nSetFailCount);
//Unregisters the callback function.
nRet = storage_unset_state_changed_cb (id->id, &Storage_state_changed_cb_p);//target api//unregister callback
- if (nRet != STORAGE_ERROR_NONE) {
+ if (nRet != STORAGE_ERROR_NONE)
+ {
FPRINTF("[Line : %d][%s] storage_unset_state_changed_cb failed for %s, error returned = %s\\n", __LINE__, API_NAMESPACE, StorageGetType(id->type), StorageGetError(nRet));
return 1;
}
release_storage_id_callback();
return 0;
}
+//& purpose: Registers and Unregisters a callback function to be invoked when the state of the specified storage device type changes.
+//& type: auto
+
+/**
+* @testcase ITc_libstorage_storage_set_unset_changed_cb_p
+* @since_tizen 3.0
+* @author SRID(manu.tiwari)
+* @reviewer SRID(a.pandia)
+* @type auto
+* @scenario Registers and Unregister a callback function to be invoked when the state of the storage device type changes.
+* @apicovered storage_set_changed_cb, storage_unset_changed_cb
+* @passcase When storage_set_changed_cb and storage_unset_changed_cb API passed
+* @failcase If storage_set_state_changed_cb and storage_unset_changed_cb API fails
+* @precondition NA
+* @postcondition storage_changed_cb() will be invoked if the state of the registered storage type changes.
+*/
+int ITc_libstorage_storage_set_unset_changed_cb_p(void)
+{
+ START_TEST;
+ if (get_storage_id_callback() == false)
+ return 1;
+
+ struct str_id *id;
+
+ id = storage_head.next;
+
+ while (id)
+ {
+ if(id->type == STORAGE_TYPE_EXTERNAL)
+ {
+ //target api
+ storage_error_e nRet = storage_set_changed_cb(id->type, Storage_changed_cb_p, NULL);
+ PRINT_RESULT(STORAGE_ERROR_NONE, nRet, "storage_set_changed_cb", StorageGetError(nRet));
+
+ //as we need manual intervention to invoke callback like mount, unmount sdcard
+ //so we are not checking callback status
+
+ //target api
+ nRet = storage_unset_changed_cb(id->type, Storage_changed_cb_p);
+ PRINT_RESULT(STORAGE_ERROR_NONE, nRet, "storage_unset_changed_cb", StorageGetError(nRet));
+
+ }
+ else
+ {
+ FPRINTF("[Line : %d][%s]Storage type not supported\\n", __LINE__, API_NAMESPACE);\r
+ }
+ id = id->next;
+ }
+
+ release_storage_id_callback();
+ return 0;
+}
/** @} */
/** @} */
extern int ITc_libstorage_get_total_space_p(void);
extern int ITc_libstorage_get_available_space_p(void);
extern int ITc_libstorage_set_unset_state_changed_cb_p(void);
+extern int ITc_libstorage_storage_set_unset_changed_cb_p(void);
testcase tc_array[] = {
{"ITc_libstorage_get_internal_memory_size_p", ITc_libstorage_get_internal_memory_size_p, ITs_storage_startup, ITs_storage_cleanup},
{"ITc_libstorage_get_total_space_p", ITc_libstorage_get_total_space_p, ITs_storage_startup, ITs_storage_cleanup},
{"ITc_libstorage_get_available_space_p", ITc_libstorage_get_available_space_p, ITs_storage_startup, ITs_storage_cleanup},
{"ITc_libstorage_set_unset_state_changed_cb_p", ITc_libstorage_set_unset_state_changed_cb_p, ITs_storage_startup, ITs_storage_cleanup},
+ {"ITc_libstorage_storage_set_unset_changed_cb_p", ITc_libstorage_storage_set_unset_changed_cb_p, ITs_storage_startup, ITs_storage_cleanup},
{NULL, NULL}
};
extern int ITc_libstorage_get_total_space_p(void);
extern int ITc_libstorage_get_available_space_p(void);
extern int ITc_libstorage_set_unset_state_changed_cb_p(void);
+extern int ITc_libstorage_storage_set_unset_changed_cb_p(void);
testcase tc_array[] = {
{"ITc_libstorage_get_internal_memory_size_p", ITc_libstorage_get_internal_memory_size_p, ITs_storage_startup, ITs_storage_cleanup},
{"ITc_libstorage_get_total_space_p", ITc_libstorage_get_total_space_p, ITs_storage_startup, ITs_storage_cleanup},
{"ITc_libstorage_get_available_space_p", ITc_libstorage_get_available_space_p, ITs_storage_startup, ITs_storage_cleanup},
{"ITc_libstorage_set_unset_state_changed_cb_p", ITc_libstorage_set_unset_state_changed_cb_p, ITs_storage_startup, ITs_storage_cleanup},
+ {"ITc_libstorage_storage_set_unset_changed_cb_p", ITc_libstorage_storage_set_unset_changed_cb_p, ITs_storage_startup, ITs_storage_cleanup},
{NULL, NULL}
};
extern int ITc_libstorage_get_total_space_p(void);
extern int ITc_libstorage_get_available_space_p(void);
extern int ITc_libstorage_set_unset_state_changed_cb_p(void);
+extern int ITc_libstorage_storage_set_unset_changed_cb_p(void);
testcase tc_array[] = {
{"ITc_libstorage_get_internal_memory_size_p", ITc_libstorage_get_internal_memory_size_p, ITs_storage_startup, ITs_storage_cleanup},
{"ITc_libstorage_get_total_space_p", ITc_libstorage_get_total_space_p, ITs_storage_startup, ITs_storage_cleanup},
{"ITc_libstorage_get_available_space_p", ITc_libstorage_get_available_space_p, ITs_storage_startup, ITs_storage_cleanup},
{"ITc_libstorage_set_unset_state_changed_cb_p", ITc_libstorage_set_unset_state_changed_cb_p, ITs_storage_startup, ITs_storage_cleanup},
+ {"ITc_libstorage_storage_set_unset_changed_cb_p", ITc_libstorage_storage_set_unset_changed_cb_p, ITs_storage_startup, ITs_storage_cleanup},
{NULL, NULL}
};
extern int ITc_libstorage_get_total_space_p(void);
extern int ITc_libstorage_get_available_space_p(void);
extern int ITc_libstorage_set_unset_state_changed_cb_p(void);
+extern int ITc_libstorage_storage_set_unset_changed_cb_p(void);
testcase tc_array[] = {
{"ITc_libstorage_get_internal_memory_size_p", ITc_libstorage_get_internal_memory_size_p, ITs_storage_startup, ITs_storage_cleanup},
{"ITc_libstorage_get_total_space_p", ITc_libstorage_get_total_space_p, ITs_storage_startup, ITs_storage_cleanup},
{"ITc_libstorage_get_available_space_p", ITc_libstorage_get_available_space_p, ITs_storage_startup, ITs_storage_cleanup},
{"ITc_libstorage_set_unset_state_changed_cb_p", ITc_libstorage_set_unset_state_changed_cb_p, ITs_storage_startup, ITs_storage_cleanup},
+ {"ITc_libstorage_storage_set_unset_changed_cb_p", ITc_libstorage_storage_set_unset_changed_cb_p, ITs_storage_startup, ITs_storage_cleanup},
{NULL, NULL}
};