A complete workshop implementation, I guess
[carveJwlIkooP6JGAAIwe30JlM.git] / workshop.h
index a08bc4d25602ad631880b5f04e3dc741d29ad19a..4a0f8b27008347d74cdc574d53fb790ea23b8162 100644 (file)
@@ -18,6 +18,12 @@ struct workshop{
 }
 static workshop;
 
+struct workshop_file_info{
+   u64 author;
+   char author_name[32];
+   char title[64];
+};
+
 struct async_workshop_filepath_info{
    PublishedFileId_t id;
    char *buf;
@@ -29,8 +35,22 @@ struct async_workshop_installed_files_info{
    u32 *len; /* inout */
 };
 
+struct async_workshop_metadata_info{
+   struct workshop_file_info *info;
+   const char *path;
+};
+
+VG_STATIC void workshop_file_info_clear( struct workshop_file_info *info )
+{
+   info->author = 0ul;
+   info->author_name[0] = '\0';
+   info->title[0] = '\0';
+}
+
 VG_STATIC void async_workshop_get_filepath( void *data, u32 len );
 VG_STATIC void async_workshop_get_installed_files( void *data, u32 len );
+VG_STATIC void workshop_load_metadata( const char *path,
+                                       struct workshop_file_info *info );
 
 /*
  * Start a new operation and crash if we are already running one.