Implement async FIB table manipulation

Implementation reuses the status information from NdnStatusOperation and
uses XSLT for basic preprocessing.

Change-Id: Id3dba1779e02451772d09bdc919fdc68475171a9
diff --git a/osx/preference-delegate.h b/osx/preference-delegate.h
index 4ecd46b..fdc48bd 100644
--- a/osx/preference-delegate.h
+++ b/osx/preference-delegate.h
@@ -7,12 +7,16 @@
  */
 
 #import <Cocoa/Cocoa.h>
+#import "fib-table-controller.h"
 
 @interface PreferenceDelegate : NSObject
 {
   IBOutlet NSWindow *preferencesPanel;
   IBOutlet NSView *generalSettingsView;
+  
   IBOutlet NSView *forwardingSettingsView;
+  IBOutlet NSTableView *fibTableView;
+  
   IBOutlet NSView *securitySettingsView;
   IBOutlet NSView *testbedSettingsView;
   
@@ -20,6 +24,9 @@
   IBOutlet NSComboBox *tunnelCombobox;
   IBOutlet NSTextField *namePrefixText;
   IBOutlet NSTextField *endpointText;
+  
+  IBOutlet FibTableController *tableController;
+  NSOperationQueue *m_operationQueue;
 }
 
 @property BOOL allowSoftwareUpdates;
@@ -29,17 +36,18 @@
 -(IBAction)openGeneralSettings:(id)sender;
 -(IBAction)openForwardingSettings:(id)sender;
 -(IBAction)openSecuritySettings:(id)sender;
--(IBAction)openTestbedSettings:(id)sender;
 
 -(IBAction)switchSoftwareUpdates:(id)sender;
 -(IBAction)switchHubDiscovery:(id)sender;
--(IBAction)restartDaemon:(id)sender;
 
 -(IBAction)addFibEntry:(id)sender;
 -(IBAction)removeFibEntry:(id)sender;
--(IBAction) showFibEntrySheet:(id)sender;
+-(IBAction)showFibEntrySheet:(id)sender;
 -(IBAction)hideFibEntrySheet:(id)sender;
 
 -(IBAction)openRoutingStatusPage:(id)sender;
 -(IBAction)openTrafficMapPage:(id)sender;
+
+-(void)updateFibStatus:(NSXMLDocument*)status;
+
 @end