{- |
Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License    : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)

An AtkNoOpObject is an AtkObject which purports to implement all
ATK interfaces. It is the type of AtkObject which is created if an
accessible object is requested for an object type for which no
factory type is specified.
-}

#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
       && !defined(__HADDOCK_VERSION__))

module GI.Atk.Objects.NoOpObject
    (

-- * Exported types
    NoOpObject(..)                          ,
    IsNoOpObject                            ,
    toNoOpObject                            ,
    noNoOpObject                            ,


 -- * Methods
-- ** new #method:new#

    noOpObjectNew                           ,




    ) where

import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P

import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP

import {-# SOURCE #-} qualified GI.Atk.Interfaces.Action as Atk.Action
import {-# SOURCE #-} qualified GI.Atk.Interfaces.Component as Atk.Component
import {-# SOURCE #-} qualified GI.Atk.Interfaces.Document as Atk.Document
import {-# SOURCE #-} qualified GI.Atk.Interfaces.EditableText as Atk.EditableText
import {-# SOURCE #-} qualified GI.Atk.Interfaces.Hypertext as Atk.Hypertext
import {-# SOURCE #-} qualified GI.Atk.Interfaces.Image as Atk.Image
import {-# SOURCE #-} qualified GI.Atk.Interfaces.Selection as Atk.Selection
import {-# SOURCE #-} qualified GI.Atk.Interfaces.Table as Atk.Table
import {-# SOURCE #-} qualified GI.Atk.Interfaces.TableCell as Atk.TableCell
import {-# SOURCE #-} qualified GI.Atk.Interfaces.Text as Atk.Text
import {-# SOURCE #-} qualified GI.Atk.Interfaces.Value as Atk.Value
import {-# SOURCE #-} qualified GI.Atk.Interfaces.Window as Atk.Window
import {-# SOURCE #-} qualified GI.Atk.Objects.Object as Atk.Object
import qualified GI.GObject.Objects.Object as GObject.Object

-- | Memory-managed wrapper type.
newtype NoOpObject = NoOpObject (ManagedPtr NoOpObject)
foreign import ccall "atk_no_op_object_get_type"
    c_atk_no_op_object_get_type :: IO GType

instance GObject NoOpObject where
    gobjectType _ = c_atk_no_op_object_get_type


-- | Type class for types which can be safely cast to `NoOpObject`, for instance with `toNoOpObject`.
class GObject o => IsNoOpObject o
#if MIN_VERSION_base(4,9,0)
instance {-# OVERLAPPABLE #-} (GObject a, O.UnknownAncestorError NoOpObject a) =>
    IsNoOpObject a
#endif
instance IsNoOpObject NoOpObject
instance Atk.Object.IsObject NoOpObject
instance GObject.Object.IsObject NoOpObject
instance Atk.Action.IsAction NoOpObject
instance Atk.Component.IsComponent NoOpObject
instance Atk.Document.IsDocument NoOpObject
instance Atk.EditableText.IsEditableText NoOpObject
instance Atk.Hypertext.IsHypertext NoOpObject
instance Atk.Image.IsImage NoOpObject
instance Atk.Selection.IsSelection NoOpObject
instance Atk.Table.IsTable NoOpObject
instance Atk.TableCell.IsTableCell NoOpObject
instance Atk.Text.IsText NoOpObject
instance Atk.Value.IsValue NoOpObject
instance Atk.Window.IsWindow NoOpObject

-- | Cast to `NoOpObject`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
toNoOpObject :: (MonadIO m, IsNoOpObject o) => o -> m NoOpObject
toNoOpObject = liftIO . unsafeCastTo NoOpObject

-- | A convenience alias for `Nothing` :: `Maybe` `NoOpObject`.
noNoOpObject :: Maybe NoOpObject
noNoOpObject = Nothing

#if ENABLE_OVERLOADING
type family ResolveNoOpObjectMethod (t :: Symbol) (o :: *) :: * where
    ResolveNoOpObjectMethod "addColumnSelection" o = Atk.Table.TableAddColumnSelectionMethodInfo
    ResolveNoOpObjectMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
    ResolveNoOpObjectMethod "addRowSelection" o = Atk.Table.TableAddRowSelectionMethodInfo
    ResolveNoOpObjectMethod "addSelection" o = Atk.Selection.SelectionAddSelectionMethodInfo
    ResolveNoOpObjectMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveNoOpObjectMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveNoOpObjectMethod "clearSelection" o = Atk.Selection.SelectionClearSelectionMethodInfo
    ResolveNoOpObjectMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
    ResolveNoOpObjectMethod "copyText" o = Atk.EditableText.EditableTextCopyTextMethodInfo
    ResolveNoOpObjectMethod "cutText" o = Atk.EditableText.EditableTextCutTextMethodInfo
    ResolveNoOpObjectMethod "deleteText" o = Atk.EditableText.EditableTextDeleteTextMethodInfo
    ResolveNoOpObjectMethod "doAction" o = Atk.Action.ActionDoActionMethodInfo
    ResolveNoOpObjectMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveNoOpObjectMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveNoOpObjectMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
    ResolveNoOpObjectMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
    ResolveNoOpObjectMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
    ResolveNoOpObjectMethod "insertText" o = Atk.EditableText.EditableTextInsertTextMethodInfo
    ResolveNoOpObjectMethod "isChildSelected" o = Atk.Selection.SelectionIsChildSelectedMethodInfo
    ResolveNoOpObjectMethod "isColumnSelected" o = Atk.Table.TableIsColumnSelectedMethodInfo
    ResolveNoOpObjectMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolveNoOpObjectMethod "isRowSelected" o = Atk.Table.TableIsRowSelectedMethodInfo
    ResolveNoOpObjectMethod "isSelected" o = Atk.Table.TableIsSelectedMethodInfo
    ResolveNoOpObjectMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveNoOpObjectMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveNoOpObjectMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
    ResolveNoOpObjectMethod "pasteText" o = Atk.EditableText.EditableTextPasteTextMethodInfo
    ResolveNoOpObjectMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
    ResolveNoOpObjectMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolveNoOpObjectMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
    ResolveNoOpObjectMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
    ResolveNoOpObjectMethod "refAt" o = Atk.Table.TableRefAtMethodInfo
    ResolveNoOpObjectMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
    ResolveNoOpObjectMethod "refSelection" o = Atk.Selection.SelectionRefSelectionMethodInfo
    ResolveNoOpObjectMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveNoOpObjectMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
    ResolveNoOpObjectMethod "removeColumnSelection" o = Atk.Table.TableRemoveColumnSelectionMethodInfo
    ResolveNoOpObjectMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
    ResolveNoOpObjectMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
    ResolveNoOpObjectMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
    ResolveNoOpObjectMethod "removeRowSelection" o = Atk.Table.TableRemoveRowSelectionMethodInfo
    ResolveNoOpObjectMethod "removeSelection" o = Atk.Selection.SelectionRemoveSelectionMethodInfo
    ResolveNoOpObjectMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveNoOpObjectMethod "selectAllSelection" o = Atk.Selection.SelectionSelectAllSelectionMethodInfo
    ResolveNoOpObjectMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveNoOpObjectMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveNoOpObjectMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolveNoOpObjectMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
    ResolveNoOpObjectMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveNoOpObjectMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
    ResolveNoOpObjectMethod "getAttributeValue" o = Atk.Document.DocumentGetAttributeValueMethodInfo
    ResolveNoOpObjectMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
    ResolveNoOpObjectMethod "getBoundedRanges" o = Atk.Text.TextGetBoundedRangesMethodInfo
    ResolveNoOpObjectMethod "getCaption" o = Atk.Table.TableGetCaptionMethodInfo
    ResolveNoOpObjectMethod "getCaretOffset" o = Atk.Text.TextGetCaretOffsetMethodInfo
    ResolveNoOpObjectMethod "getCharacterAtOffset" o = Atk.Text.TextGetCharacterAtOffsetMethodInfo
    ResolveNoOpObjectMethod "getCharacterCount" o = Atk.Text.TextGetCharacterCountMethodInfo
    ResolveNoOpObjectMethod "getCharacterExtents" o = Atk.Text.TextGetCharacterExtentsMethodInfo
    ResolveNoOpObjectMethod "getColumnAtIndex" o = Atk.Table.TableGetColumnAtIndexMethodInfo
    ResolveNoOpObjectMethod "getColumnDescription" o = Atk.Table.TableGetColumnDescriptionMethodInfo
    ResolveNoOpObjectMethod "getColumnExtentAt" o = Atk.Table.TableGetColumnExtentAtMethodInfo
    ResolveNoOpObjectMethod "getColumnHeader" o = Atk.Table.TableGetColumnHeaderMethodInfo
    ResolveNoOpObjectMethod "getColumnHeaderCells" o = Atk.TableCell.TableCellGetColumnHeaderCellsMethodInfo
    ResolveNoOpObjectMethod "getColumnSpan" o = Atk.TableCell.TableCellGetColumnSpanMethodInfo
    ResolveNoOpObjectMethod "getCurrentPageNumber" o = Atk.Document.DocumentGetCurrentPageNumberMethodInfo
    ResolveNoOpObjectMethod "getCurrentValue" o = Atk.Value.ValueGetCurrentValueMethodInfo
    ResolveNoOpObjectMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolveNoOpObjectMethod "getDefaultAttributes" o = Atk.Text.TextGetDefaultAttributesMethodInfo
    ResolveNoOpObjectMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
    ResolveNoOpObjectMethod "getDocument" o = Atk.Document.DocumentGetDocumentMethodInfo
    ResolveNoOpObjectMethod "getDocumentType" o = Atk.Document.DocumentGetDocumentTypeMethodInfo
    ResolveNoOpObjectMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
    ResolveNoOpObjectMethod "getImageDescription" o = Atk.Image.ImageGetImageDescriptionMethodInfo
    ResolveNoOpObjectMethod "getImageLocale" o = Atk.Image.ImageGetImageLocaleMethodInfo
    ResolveNoOpObjectMethod "getImagePosition" o = Atk.Image.ImageGetImagePositionMethodInfo
    ResolveNoOpObjectMethod "getImageSize" o = Atk.Image.ImageGetImageSizeMethodInfo
    ResolveNoOpObjectMethod "getIncrement" o = Atk.Value.ValueGetIncrementMethodInfo
    ResolveNoOpObjectMethod "getIndexAt" o = Atk.Table.TableGetIndexAtMethodInfo
    ResolveNoOpObjectMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
    ResolveNoOpObjectMethod "getKeybinding" o = Atk.Action.ActionGetKeybindingMethodInfo
    ResolveNoOpObjectMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
    ResolveNoOpObjectMethod "getLink" o = Atk.Hypertext.HypertextGetLinkMethodInfo
    ResolveNoOpObjectMethod "getLinkIndex" o = Atk.Hypertext.HypertextGetLinkIndexMethodInfo
    ResolveNoOpObjectMethod "getLocale" o = Atk.Document.DocumentGetLocaleMethodInfo
    ResolveNoOpObjectMethod "getLocalizedName" o = Atk.Action.ActionGetLocalizedNameMethodInfo
    ResolveNoOpObjectMethod "getMaximumValue" o = Atk.Value.ValueGetMaximumValueMethodInfo
    ResolveNoOpObjectMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
    ResolveNoOpObjectMethod "getMinimumIncrement" o = Atk.Value.ValueGetMinimumIncrementMethodInfo
    ResolveNoOpObjectMethod "getMinimumValue" o = Atk.Value.ValueGetMinimumValueMethodInfo
    ResolveNoOpObjectMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
    ResolveNoOpObjectMethod "getNActions" o = Atk.Action.ActionGetNActionsMethodInfo
    ResolveNoOpObjectMethod "getNColumns" o = Atk.Table.TableGetNColumnsMethodInfo
    ResolveNoOpObjectMethod "getNLinks" o = Atk.Hypertext.HypertextGetNLinksMethodInfo
    ResolveNoOpObjectMethod "getNRows" o = Atk.Table.TableGetNRowsMethodInfo
    ResolveNoOpObjectMethod "getNSelections" o = Atk.Text.TextGetNSelectionsMethodInfo
    ResolveNoOpObjectMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
    ResolveNoOpObjectMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
    ResolveNoOpObjectMethod "getOffsetAtPoint" o = Atk.Text.TextGetOffsetAtPointMethodInfo
    ResolveNoOpObjectMethod "getPageCount" o = Atk.Document.DocumentGetPageCountMethodInfo
    ResolveNoOpObjectMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
    ResolveNoOpObjectMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
    ResolveNoOpObjectMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolveNoOpObjectMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolveNoOpObjectMethod "getRange" o = Atk.Value.ValueGetRangeMethodInfo
    ResolveNoOpObjectMethod "getRangeExtents" o = Atk.Text.TextGetRangeExtentsMethodInfo
    ResolveNoOpObjectMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
    ResolveNoOpObjectMethod "getRowAtIndex" o = Atk.Table.TableGetRowAtIndexMethodInfo
    ResolveNoOpObjectMethod "getRowColumnSpan" o = Atk.TableCell.TableCellGetRowColumnSpanMethodInfo
    ResolveNoOpObjectMethod "getRowDescription" o = Atk.Table.TableGetRowDescriptionMethodInfo
    ResolveNoOpObjectMethod "getRowExtentAt" o = Atk.Table.TableGetRowExtentAtMethodInfo
    ResolveNoOpObjectMethod "getRowHeader" o = Atk.Table.TableGetRowHeaderMethodInfo
    ResolveNoOpObjectMethod "getRowHeaderCells" o = Atk.TableCell.TableCellGetRowHeaderCellsMethodInfo
    ResolveNoOpObjectMethod "getRowSpan" o = Atk.TableCell.TableCellGetRowSpanMethodInfo
    ResolveNoOpObjectMethod "getRunAttributes" o = Atk.Text.TextGetRunAttributesMethodInfo
    ResolveNoOpObjectMethod "getSelectedColumns" o = Atk.Table.TableGetSelectedColumnsMethodInfo
    ResolveNoOpObjectMethod "getSelectedRows" o = Atk.Table.TableGetSelectedRowsMethodInfo
    ResolveNoOpObjectMethod "getSelection" o = Atk.Text.TextGetSelectionMethodInfo
    ResolveNoOpObjectMethod "getSelectionCount" o = Atk.Selection.SelectionGetSelectionCountMethodInfo
    ResolveNoOpObjectMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
    ResolveNoOpObjectMethod "getStringAtOffset" o = Atk.Text.TextGetStringAtOffsetMethodInfo
    ResolveNoOpObjectMethod "getSubRanges" o = Atk.Value.ValueGetSubRangesMethodInfo
    ResolveNoOpObjectMethod "getSummary" o = Atk.Table.TableGetSummaryMethodInfo
    ResolveNoOpObjectMethod "getTable" o = Atk.TableCell.TableCellGetTableMethodInfo
    ResolveNoOpObjectMethod "getText" o = Atk.Text.TextGetTextMethodInfo
    ResolveNoOpObjectMethod "getTextAfterOffset" o = Atk.Text.TextGetTextAfterOffsetMethodInfo
    ResolveNoOpObjectMethod "getTextAtOffset" o = Atk.Text.TextGetTextAtOffsetMethodInfo
    ResolveNoOpObjectMethod "getTextBeforeOffset" o = Atk.Text.TextGetTextBeforeOffsetMethodInfo
    ResolveNoOpObjectMethod "getValueAndText" o = Atk.Value.ValueGetValueAndTextMethodInfo
    ResolveNoOpObjectMethod "setAttributeValue" o = Atk.Document.DocumentSetAttributeValueMethodInfo
    ResolveNoOpObjectMethod "setCaption" o = Atk.Table.TableSetCaptionMethodInfo
    ResolveNoOpObjectMethod "setCaretOffset" o = Atk.Text.TextSetCaretOffsetMethodInfo
    ResolveNoOpObjectMethod "setColumnDescription" o = Atk.Table.TableSetColumnDescriptionMethodInfo
    ResolveNoOpObjectMethod "setColumnHeader" o = Atk.Table.TableSetColumnHeaderMethodInfo
    ResolveNoOpObjectMethod "setCurrentValue" o = Atk.Value.ValueSetCurrentValueMethodInfo
    ResolveNoOpObjectMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolveNoOpObjectMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
    ResolveNoOpObjectMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
    ResolveNoOpObjectMethod "setImageDescription" o = Atk.Image.ImageSetImageDescriptionMethodInfo
    ResolveNoOpObjectMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
    ResolveNoOpObjectMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
    ResolveNoOpObjectMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
    ResolveNoOpObjectMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolveNoOpObjectMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
    ResolveNoOpObjectMethod "setRowDescription" o = Atk.Table.TableSetRowDescriptionMethodInfo
    ResolveNoOpObjectMethod "setRowHeader" o = Atk.Table.TableSetRowHeaderMethodInfo
    ResolveNoOpObjectMethod "setRunAttributes" o = Atk.EditableText.EditableTextSetRunAttributesMethodInfo
    ResolveNoOpObjectMethod "setSelection" o = Atk.Text.TextSetSelectionMethodInfo
    ResolveNoOpObjectMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
    ResolveNoOpObjectMethod "setSummary" o = Atk.Table.TableSetSummaryMethodInfo
    ResolveNoOpObjectMethod "setTextContents" o = Atk.EditableText.EditableTextSetTextContentsMethodInfo
    ResolveNoOpObjectMethod "setValue" o = Atk.Value.ValueSetValueMethodInfo
    ResolveNoOpObjectMethod l o = O.MethodResolutionFailed l o

instance (info ~ ResolveNoOpObjectMethod t NoOpObject, O.MethodInfo info NoOpObject p) => O.IsLabelProxy t (NoOpObject -> p) where
    fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)

#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveNoOpObjectMethod t NoOpObject, O.MethodInfo info NoOpObject p) => O.IsLabel t (NoOpObject -> p) where
#if MIN_VERSION_base(4,10,0)
    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#else
    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif
#endif

#endif

#if ENABLE_OVERLOADING
instance O.HasAttributeList NoOpObject
type instance O.AttributeList NoOpObject = NoOpObjectAttributeList
type NoOpObjectAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo)] :: [(Symbol, *)])
#endif

#if ENABLE_OVERLOADING
#endif

#if ENABLE_OVERLOADING
type instance O.SignalList NoOpObject = NoOpObjectSignalList
type NoOpObjectSignalList = ('[ '("activate", Atk.Window.WindowActivateSignalInfo), '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("columnDeleted", Atk.Table.TableColumnDeletedSignalInfo), '("columnInserted", Atk.Table.TableColumnInsertedSignalInfo), '("columnReordered", Atk.Table.TableColumnReorderedSignalInfo), '("create", Atk.Window.WindowCreateSignalInfo), '("deactivate", Atk.Window.WindowDeactivateSignalInfo), '("destroy", Atk.Window.WindowDestroySignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("linkSelected", Atk.Hypertext.HypertextLinkSelectedSignalInfo), '("loadComplete", Atk.Document.DocumentLoadCompleteSignalInfo), '("loadStopped", Atk.Document.DocumentLoadStoppedSignalInfo), '("maximize", Atk.Window.WindowMaximizeSignalInfo), '("minimize", Atk.Window.WindowMinimizeSignalInfo), '("modelChanged", Atk.Table.TableModelChangedSignalInfo), '("move", Atk.Window.WindowMoveSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("pageChanged", Atk.Document.DocumentPageChangedSignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("reload", Atk.Document.DocumentReloadSignalInfo), '("resize", Atk.Window.WindowResizeSignalInfo), '("restore", Atk.Window.WindowRestoreSignalInfo), '("rowDeleted", Atk.Table.TableRowDeletedSignalInfo), '("rowInserted", Atk.Table.TableRowInsertedSignalInfo), '("rowReordered", Atk.Table.TableRowReorderedSignalInfo), '("selectionChanged", Atk.Selection.SelectionSelectionChangedSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("textAttributesChanged", Atk.Text.TextTextAttributesChangedSignalInfo), '("textCaretMoved", Atk.Text.TextTextCaretMovedSignalInfo), '("textChanged", Atk.Text.TextTextChangedSignalInfo), '("textInsert", Atk.Text.TextTextInsertSignalInfo), '("textRemove", Atk.Text.TextTextRemoveSignalInfo), '("textSelectionChanged", Atk.Text.TextTextSelectionChangedSignalInfo), '("valueChanged", Atk.Value.ValueValueChangedSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])

#endif

-- method NoOpObject::new
-- method type : Constructor
-- Args : [Arg {argCName = "obj", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "Atk", name = "NoOpObject"}))
-- throws : False
-- Skip return : False

foreign import ccall "atk_no_op_object_new" atk_no_op_object_new ::
    Ptr GObject.Object.Object ->            -- obj : TInterface (Name {namespace = "GObject", name = "Object"})
    IO (Ptr NoOpObject)

{- |
Provides a default (non-functioning stub) 'GI.Atk.Objects.Object.Object'.
Application maintainers should not use this method.
-}
noOpObjectNew ::
    (B.CallStack.HasCallStack, MonadIO m, GObject.Object.IsObject a) =>
    a
    {- ^ /@obj@/: a 'GI.GObject.Objects.Object.Object' -}
    -> m NoOpObject
    {- ^ __Returns:__ a default (non-functioning stub) 'GI.Atk.Objects.Object.Object' -}
noOpObjectNew obj = liftIO $ do
    obj' <- unsafeManagedPtrCastPtr obj
    result <- atk_no_op_object_new obj'
    checkUnexpectedReturnNULL "noOpObjectNew" result
    result' <- (wrapObject NoOpObject) result
    touchManagedPtr obj
    return result'

#if ENABLE_OVERLOADING
#endif