Main Page | Modules | Alphabetical List | Data Structures | File List | Data Fields | Globals | Related Pages

pagelayout.h

Go to the documentation of this file.
00001 #ifndef __AWHANDLER_WEBSMCP_PAGE_LAYOUT__
00002 #define __AWHANDLER_WEBSMCP_PAGE_LAYOUT__
00003 
00004 #include "hash.h"
00005 
00010 typedef struct {
00011 
00012   /* css */
00013   struct {
00014 
00015     const byte_t *stylesheet; 
00017   } css ;
00018 
00019   /* pages of app */
00020   struct {
00021 
00022     /* main app page */
00023     struct {
00024 
00025       /* top */
00026       struct {
00027 
00028         const byte_t *banner; 
00030         const byte_t *title; 
00032         const byte_t *logout_icon;   
00034         const byte_t *help_icon;     
00036       } top;
00037 
00038       /* bottom */
00039       struct {
00040 
00041         const byte_t *banner; 
00043       } bottom;
00044 
00045       /* pages (between top and bottom) */
00046       struct {
00047 
00048         /* home */
00049         struct {
00050 
00051           const byte_t *icon;   
00053         } home;
00054 
00055         /* nodes */
00056         struct {
00057 
00058           const byte_t *icon;   
00060           /* view controls */
00061           struct {
00062 
00063             u_int32_t show_deleted;  
00065             /* items that can be "focused" */
00066             struct {
00067 
00068               u_int32_t nodegrpid;     
00070               u_int32_t nodeid;        
00072             } focus;
00073 
00074             /* tree state */
00075             struct {
00076 
00078               aw_hash32_t *selected_groups;
00079 
00081               aw_hash32_t *selected_nodes;
00082 
00084               aw_hash32_t *selected_interfaces;
00085 
00086             } tree;
00087 
00088           } view ;
00089 
00090           /* indicators (should be <img> tags) */
00091           struct {
00092 
00093             const byte_t *outage; 
00095           } indicators;
00096 
00097           /* elements */
00098           struct {
00099 
00100             /* focus */
00101             struct {
00102 
00103               const byte_t *icon;        
00105             } focus;
00106 
00107             /* metrics */
00108             struct {
00109 
00110               const byte_t *icon;        
00112             } metrics;
00113 
00114             /* node */
00115             struct {
00116 
00117               const byte_t *icon;        
00119               const byte_t *edit_icon;   
00121               const byte_t *apply_icon;  
00123             } node;
00124 
00125             /* interface */
00126             struct {
00127 
00128               const byte_t *icon;        
00130               const byte_t *edit_icon;   
00132             } interface;
00133 
00134             /* service */
00135             struct {
00136 
00137               const byte_t *icon;        
00139               const byte_t *edit_icon;   
00141             } service;
00142 
00143           } elements;
00144 
00145           /* pages */
00146           struct {
00147 
00148             /* edit */
00149             struct {
00150 
00151               const byte_t *icon;   
00153             } edit;
00154 
00155             /* nodes */
00156             struct {
00157 
00158               const byte_t *icon;   
00160             } nodes;
00161 
00162             /* nodegrps */
00163             struct {
00164 
00165               const byte_t *icon;   
00167             } nodegrps;
00168 
00169             /* reports */
00170             struct {
00171 
00172               const byte_t *icon;   
00174             } reports;
00175 
00176             /* search */
00177             struct {
00178 
00179               const byte_t *icon;   
00181             } search;
00182 
00183             /* discover */
00184             struct {
00185 
00186               const byte_t *icon;   
00188               /* view controls */
00189               struct {
00190 
00191                 u_int32_t show_deleted;  
00193               } view; 
00194 
00195             } discover;
00196 
00197           } pages;
00198 
00199         } nodes;
00200 
00201         /* alerts */
00202         struct {
00203 
00204           const byte_t *icon;   
00206         } alerts;
00207     
00208         /* tools */
00209         struct {
00210 
00211           const byte_t *icon;   
00213         } tools;
00214 
00215         /* admin */
00216         struct {
00217 
00218           const byte_t *icon;   
00220           /* pages */
00221           struct {
00222 
00223             /* edit (user or group) */
00224             struct {
00225 
00226               const byte_t *icon;   
00228             } edit;
00229 
00230             /* user (listing) */
00231             struct {
00232 
00233               const byte_t *icon;    
00235               /* view controls */
00236               struct {
00237 
00238                 u_int32_t show_deleted;  
00240               } view;
00241 
00242             } user;
00243 
00244             /* group (listing) */
00245             struct {
00246 
00247               const byte_t *icon;    
00249               /* view controls */
00250               struct {
00251 
00252                 u_int32_t show_deleted;  
00254               } view;
00255 
00256             } group;
00257 
00258           } pages;
00259 
00260         } admin;
00261 
00262       } pages;
00263 
00264     } main;
00265 
00266   } pages;
00267 
00268 } aw_websmcphandler_layout_t;
00269 
00270 /* --- pagelayout.c --- */
00271 
00272 
00277 void aw_websmcphandler_clear_layout(aw_websmcphandler_layout_t *layout);
00278 
00283 void aw_websmcphandler_init_layout(aw_websmcphandler_layout_t *layout);
00284 
00290 void aw_websmcphandler_copy_layout(aw_websmcphandler_layout_t *to, aw_websmcphandler_layout_t *from);
00291 
00292 #endif
Aware 0.11.1 Copyright (C) 1998-2005 Russell Leighton (russ@elegant-software.com)