1BCursor(const void *cursorData) 2case 1: cursorData is NULL => 3 empty cursor object (useless) 4case 2: cursorData points to valid data => 5 valid cursor object 6case 3: cursorData points to invalid data => 7 empty cursor object (useless) 8 9BCursor(BMessage *archive) 10case 1: archive is NULL => 11 empty cursor object (useless) 12case 2: archive points to a valid archive => 13 empty cursor object (useless, R5 does not support archiving) 14 15static BArchivable *Instantiate(BMessage *archive) 16case 1: archive is NULL => 17 returns NULL 18case 2: archive points to a valid archive => 19 returns NULL (R5 does not support archiving) 20 21status_t Archive(BMessage* into, bool deep = true) 22case 1: into is NULL => 23 returns B_OK 24case 2: into is a valid message => 25 returns B_OK (archiving not implemented in R5) 26 27status_t Perform(perform_code d, void* arg) 28case 1: arg is NULL => 29 returns B_OK 30case 2: arg points to something => 31 returns B_OK 32