code: def add_action(self, action, add_to_toolbar=True, add_to_legend=False):
          
          # store in the class list of actions for easy plugin unloading
          self.actions.append(action)
          self.iface.addPluginToMenu(self.tr('InaSAFE'), action)
          if add_to_toolbar:
              self.toolbar.addAction(action)
          if add_to_legend:
              # The id is the action name without spaces, tabs ...
              self.iface.addCustomActionForLayerType(
                  action,
                  self.tr('InaSAFE'),
                  QgsMapLayer.VectorLayer,
                  True)
              self.iface.addCustomActionForLayerType(
                  action,
                  self.tr('InaSAFE'),
                  QgsMapLayer.RasterLayer,
                  True)
docs: Add a toolbar icon to the InaSAFE toolbar.
  
          :param action: The action that should be added to the toolbar.
          :type action: QAction
  
          :param add_to_toolbar: Flag indicating whether the action should also
              be added to the InaSAFE toolbar. Defaults to True.
          :type add_to_toolbar: bool
  
          :param add_to_legend: Flag indicating whether the action should also
              be added to the layer legend menu. Default to False.
          :type add_to_legend: bool