{-# LANGUAGE TypeApplications #-}


-- | Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-- License    : LGPL-2.1
-- Maintainer : Iñaki García Etxebarria
-- 
-- 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.

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

module GI.Atk.Objects.NoOpObject
    ( 

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


 -- * Methods
-- ** Overloaded methods #method:Overloaded methods#

#if defined(ENABLE_OVERLOADING)
    ResolveNoOpObjectMethod                 ,
#endif


-- ** 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.GClosure as B.GClosure
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.GI.Base.Properties as B.Properties
import qualified Data.GI.Base.Signals as B.Signals
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 qualified GHC.OverloadedLabels as OL

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)
    deriving (NoOpObject -> NoOpObject -> Bool
(NoOpObject -> NoOpObject -> Bool)
-> (NoOpObject -> NoOpObject -> Bool) -> Eq NoOpObject
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: NoOpObject -> NoOpObject -> Bool
$c/= :: NoOpObject -> NoOpObject -> Bool
== :: NoOpObject -> NoOpObject -> Bool
$c== :: NoOpObject -> NoOpObject -> Bool
Eq)
foreign import ccall "atk_no_op_object_get_type"
    c_atk_no_op_object_get_type :: IO GType

instance GObject NoOpObject where
    gobjectType :: IO GType
gobjectType = IO GType
c_atk_no_op_object_get_type
    

-- | Convert 'NoOpObject' to and from 'Data.GI.Base.GValue.GValue' with 'Data.GI.Base.GValue.toGValue' and 'Data.GI.Base.GValue.fromGValue'.
instance B.GValue.IsGValue NoOpObject where
    toGValue :: NoOpObject -> IO GValue
toGValue o :: NoOpObject
o = do
        GType
gtype <- IO GType
c_atk_no_op_object_get_type
        NoOpObject -> (Ptr NoOpObject -> IO GValue) -> IO GValue
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr NoOpObject
o (GType
-> (GValue -> Ptr NoOpObject -> IO ())
-> Ptr NoOpObject
-> IO GValue
forall a. GType -> (GValue -> a -> IO ()) -> a -> IO GValue
B.GValue.buildGValue GType
gtype GValue -> Ptr NoOpObject -> IO ()
forall a. GObject a => GValue -> Ptr a -> IO ()
B.GValue.set_object)
        
    fromGValue :: GValue -> IO NoOpObject
fromGValue gv :: GValue
gv = do
        Ptr NoOpObject
ptr <- GValue -> IO (Ptr NoOpObject)
forall b. GObject b => GValue -> IO (Ptr b)
B.GValue.get_object GValue
gv :: IO (Ptr NoOpObject)
        (ManagedPtr NoOpObject -> NoOpObject)
-> Ptr NoOpObject -> IO NoOpObject
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr NoOpObject -> NoOpObject
NoOpObject Ptr NoOpObject
ptr
        
    

-- | Type class for types which can be safely cast to `NoOpObject`, for instance with `toNoOpObject`.
class (GObject o, O.IsDescendantOf NoOpObject o) => IsNoOpObject o
instance (GObject o, O.IsDescendantOf NoOpObject o) => IsNoOpObject o

instance O.HasParentTypes NoOpObject
type instance O.ParentTypes NoOpObject = '[Atk.Object.Object, GObject.Object.Object, Atk.Action.Action, Atk.Component.Component, Atk.Document.Document, Atk.EditableText.EditableText, Atk.Hypertext.Hypertext, Atk.Image.Image, Atk.Selection.Selection, Atk.Table.Table, Atk.TableCell.TableCell, Atk.Text.Text, Atk.Value.Value, Atk.Window.Window]

-- | 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 :: o -> m NoOpObject
toNoOpObject = IO NoOpObject -> m NoOpObject
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO NoOpObject -> m NoOpObject)
-> (o -> IO NoOpObject) -> o -> m NoOpObject
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr NoOpObject -> NoOpObject) -> o -> IO NoOpObject
forall o o'.
(HasCallStack, GObject o, GObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
unsafeCastTo ManagedPtr NoOpObject -> NoOpObject
NoOpObject

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

#if defined(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 "scrollSubstringTo" o = Atk.Text.TextScrollSubstringToMethodInfo
    ResolveNoOpObjectMethod "scrollSubstringToPoint" o = Atk.Text.TextScrollSubstringToPointMethodInfo
    ResolveNoOpObjectMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
    ResolveNoOpObjectMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
    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 "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
    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) => OL.IsLabel t (NoOpObject -> p) where
#if MIN_VERSION_base(4,10,0)
    fromLabel = O.overloadedMethod @info
#else
    fromLabel _ = O.overloadedMethod @info
#endif

#endif

#if defined(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 defined(ENABLE_OVERLOADING)
#endif

#if defined(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) t'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 t'GI.GObject.Objects.Object.Object'
    -> m NoOpObject
    -- ^ __Returns:__ a default (non-functioning stub) t'GI.Atk.Objects.Object.Object'
noOpObjectNew :: a -> m NoOpObject
noOpObjectNew obj :: a
obj = IO NoOpObject -> m NoOpObject
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO NoOpObject -> m NoOpObject) -> IO NoOpObject -> m NoOpObject
forall a b. (a -> b) -> a -> b
$ do
    Ptr Object
obj' <- a -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
obj
    Ptr NoOpObject
result <- Ptr Object -> IO (Ptr NoOpObject)
atk_no_op_object_new Ptr Object
obj'
    Text -> Ptr NoOpObject -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "noOpObjectNew" Ptr NoOpObject
result
    NoOpObject
result' <- ((ManagedPtr NoOpObject -> NoOpObject)
-> Ptr NoOpObject -> IO NoOpObject
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr NoOpObject -> NoOpObject
NoOpObject) Ptr NoOpObject
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
obj
    NoOpObject -> IO NoOpObject
forall (m :: * -> *) a. Monad m => a -> m a
return NoOpObject
result'

#if defined(ENABLE_OVERLOADING)
#endif