Subversion Repositories freemyipod

Rev

Rev 833 | Rev 843 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 833 Rev 834
Line 169... Line 169...
169
            .renderparams = &mainchooser_rparams_toolchooser
169
            .renderparams = &mainchooser_rparams_toolchooser
170
        }
170
        }
171
    }
171
    }
172
};
172
};
173
 
173
 
174
void run_mainchooser(void** firmware, void** app, int* size)
174
void run_mainchooser()
175
{
175
{
176
    while (!*firmware && !*app)
176
    while (!bootinfo.valid)
177
    {
177
    {
178
        const struct chooser_item* result = ui->chooser_run(&mainchooser);
178
        const struct chooser_item* result = ui->chooser_run(&mainchooser);
179
        if (!result)
179
        if (!result)
180
            switch(settings.timeout_item)
180
            switch(settings.timeout_item)
181
            {
181
            {
182
                case 0:
182
                case 0:
183
                    run_powerdown(firmware, app, size);
183
                    run_powerdown();
184
                    break;
184
                    break;
185
                
185
                
186
                case 1:
186
                case 1:
187
                    run_rockbox(firmware, app, size);
187
                    run_rockbox();
188
                    break;
188
                    break;
189
                
189
                
190
                case 2:
190
                case 2:
191
                    run_umsboot(firmware, app, size);
191
                    run_umsboot();
192
                    break;
192
                    break;
193
                
193
                
194
                case 3:
194
                case 3:
195
                    return;
195
                    return;
196
            }
196
            }
197
        if (!result->user) return;
197
        if (!result->user) return;
198
        void (*selected_function)(void** firmware, void** app, int* size);
-
 
199
        selected_function = (void(*)(void** firmware, void** app, int* size))(result->user);
-
 
200
        selected_function(firmware, app, size);
198
        ((void(*)())(result->user))();
201
    }
199
    }
202
}
200
}
203
 
201
 
204
void mainchooser_init()
202
void mainchooser_init()
205
{
203
{